46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
# File 'lib/litestream/commands.rb', line 46
def executable(exe_path: DEFAULT_DIR)
litestream_install_dir = ENV["LITESTREAM_INSTALL_DIR"]
if litestream_install_dir
if File.directory?(litestream_install_dir)
warn "NOTE: using LITESTREAM_INSTALL_DIR to find litestream executable: #{litestream_install_dir}"
exe_path = litestream_install_dir
exe_file = File.expand_path(File.join(litestream_install_dir, "litestream"))
else
raise DirectoryNotFoundException, " LITESTREAM_INSTALL_DIR is set to \#{litestream_install_dir}, but that directory does not exist.\n MESSAGE\n end\n else\n if Litestream::Upstream::NATIVE_PLATFORMS.keys.none? { |p| Gem::Platform.match_gem?(Gem::Platform.new(p), GEM_NAME) }\n raise UnsupportedPlatformException, <<~MESSAGE\n litestream-ruby does not support the \#{platform} platform\n Please install litestream following instructions at https://litestream.io/install\n MESSAGE\n end\n\n exe_file = Dir.glob(File.expand_path(File.join(exe_path, \"*\", \"litestream\"))).find do |f|\n Gem::Platform.match_gem?(Gem::Platform.new(File.basename(File.dirname(f))), GEM_NAME)\n end\n end\n\n if exe_file.nil? || !File.exist?(exe_file)\n raise ExecutableNotFoundException, <<~MESSAGE\n Cannot find the litestream executable for \#{platform} in \#{exe_path}\n\n If you're using bundler, please make sure you're on the latest bundler version:\n\n gem install bundler\n bundle update --bundler\n\n Then make sure your lock file includes this platform by running:\n\n bundle lock --add-platform \#{platform}\n bundle install\n\n See `bundle lock --help` output for details.\n\n If you're still seeing this message after taking those steps, try running\n `bundle config` and ensure `force_ruby_platform` isn't set to `true`. See\n https://github.com/fractaledmind/litestream-ruby#check-bundle_force_ruby_platform\n for more details.\n MESSAGE\n end\n\n exe_file\nend\n"
|