Class: Kompo::KompoVfsPath::FromHomebrew::Installed

Inherits:
Taski::Task
  • Object
show all
Defined in:
lib/kompo/tasks/kompo_vfs_path.rb

Overview

Use existing Homebrew installation of kompo-vfs

Instance Method Summary collapse

Instance Method Details

#runObject



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/kompo/tasks/kompo_vfs_path.rb', line 59

def run
  brew = HomebrewPath.path
  @path = "#{`#{brew} --prefix kompo-vfs`.chomp}/lib"

  # Check if required library files exist (kompo-vfs >= 0.2.0 has libkompo_fs.a and libkompo_wrap.a)
  required_libs = %w[libkompo_fs.a libkompo_wrap.a]
  missing_libs = required_libs.reject { |lib| File.exist?(File.join(@path, lib)) }

  unless missing_libs.empty?
    installed_version = `#{brew} list --versions kompo-vfs`.chomp.split.last
    raise "kompo-vfs #{installed_version} is outdated. Please run: brew upgrade kompo-vfs\n" \
          "Missing libraries: #{missing_libs.join(", ")}"
  end

  puts "kompo-vfs library path: #{@path}"

  KompoVfsVersionCheck.verify!(@path)
end