Module: PDK::Util::Version

Defined in:
lib/pdk/util/version.rb

Class Method Summary collapse

Class Method Details

.git_refObject



27
28
29
30
31
32
33
34
# File 'lib/pdk/util/version.rb', line 27

def self.git_ref
  source_git_dir = File.join(File.expand_path('../../..', File.dirname(__FILE__)), '.git')

  return nil unless File.directory?(source_git_dir)

  ref_result = PDK::Util::Git.git('--git-dir', source_git_dir, 'describe', '--all', '--long')
  return ref_result[:stdout].strip if ref_result[:exit_code].zero?
end

.pdk_refObject



13
14
15
16
# File 'lib/pdk/util/version.rb', line 13

def self.pdk_ref
  ref = "#{pkg_sha} #{git_ref}".strip
  ref.empty? ? nil : "(#{ref})"
end

.pkg_shaObject



18
19
20
21
22
23
24
25
# File 'lib/pdk/util/version.rb', line 18

def self.pkg_sha
  if version_file && File.exist?(version_file)
    ver = File.read(version_file)
    sha = ver.strip.split('.')[5] unless ver.nil?
  end

  sha
end

.version_fileObject



36
37
38
39
# File 'lib/pdk/util/version.rb', line 36

def self.version_file
  # FIXME: this gets called a LOT and doesn't currently get cached
  PDK::Util.find_upwards('PDK_VERSION', File.dirname(__FILE__))
end

.version_stringObject



9
10
11
# File 'lib/pdk/util/version.rb', line 9

def self.version_string
  "#{PDK::VERSION} #{pdk_ref}".strip.freeze
end