homebrew-core/Formula/maxwell.rb

45 lines
1.3 KiB
Ruby

class Maxwell < Formula
desc "Reads MySQL binlogs and writes row updates as JSON to Kafka"
homepage "https://maxwells-daemon.io/"
url "https://github.com/zendesk/maxwell/releases/download/v1.37.0/maxwell-1.37.0.tar.gz"
sha256 "1252ed98d936de7784db5fde09d916c22c295c86b6b09200a7337830e52ee94d"
license "Apache-2.0"
livecheck do
url :stable
strategy :github_latest
end
bottle do
sha256 cellar: :any_skip_relocation, all: "40d0293f9c9df9c9f0e80db8a751cebdd11dcedd85f189fbf865427de27b750a"
end
depends_on "openjdk@11"
def install
libexec.install Dir["*"]
%w[maxwell maxwell-bootstrap].each do |f|
bin.install libexec/"bin/#{f}"
end
bin.env_script_all_files(libexec/"bin", Language::Java.java_home_env("11.0"))
end
test do
log = testpath/"maxwell.log"
fork do
$stdout.reopen(log)
$stderr.reopen(log)
# Tell Maxwell to connect to a bogus host name so we don't actually connect to a local instance
# The '.invalid' TLD is reserved as never to be installed as a valid TLD.
exec "#{bin}/maxwell --host not.real.invalid"
end
sleep 15
# Validate that we actually got in to Maxwell far enough to attempt to connect.
assert_match "CommunicationsException: Communications link failure", log.read
end
end