45 lines
1.3 KiB
Ruby
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.38.0/maxwell-1.38.0.tar.gz"
|
|
sha256 "b1705859e69b0196ab97f679bbfdecf58c38dc5064d3d83f5aa2a536cbdf3c42"
|
|
license "Apache-2.0"
|
|
|
|
livecheck do
|
|
url :stable
|
|
strategy :github_latest
|
|
end
|
|
|
|
bottle do
|
|
sha256 cellar: :any_skip_relocation, all: "d7bfd87f26763334af3ba6af18a533024db156e18210c7e9792ee3017aacf536"
|
|
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
|