homebrew-core/Formula/codemod.rb
2018-10-21 11:09:18 +10:00

45 lines
1.6 KiB
Ruby

class Codemod < Formula
desc "Large-scale codebase refactors assistant tool"
homepage "https://github.com/facebook/codemod"
url "https://files.pythonhosted.org/packages/9b/e3/cb31bfcf14f976060ea7b7f34135ebc796cde65eba923f6a0c4b71f15cc2/codemod-1.0.0.tar.gz"
sha256 "06e8c75f2b45210dd8270e30a6a88ae464b39abd6d0cab58a3d7bfd1c094e588"
revision 1
version_scheme 1
head "https://github.com/facebook/codemod.git"
bottle do
cellar :any_skip_relocation
sha256 "46a429f995bc5491ef76d75c3fd850aae40e5414ead2080361f06e69a39c79ec" => :mojave
sha256 "cbf4fa912e1a717b55992756b44d10e7eb8640cc541d255625cecb0e65c41377" => :high_sierra
sha256 "cbf4fa912e1a717b55992756b44d10e7eb8640cc541d255625cecb0e65c41377" => :sierra
end
depends_on "python"
def install
xy = Language::Python.major_minor_version "python3"
ENV.prepend_create_path "PYTHONPATH", libexec/"lib/python#{xy}/site-packages"
system "python3", *Language::Python.setup_install_args(libexec)
bin.install Dir[libexec/"bin/*"]
bin.env_script_all_files(libexec/"bin", :PYTHONPATH => ENV["PYTHONPATH"])
end
test do
# work around some codemod terminal bugs
ENV["TERM"] = "xterm"
ENV["LINES"] = "25"
ENV["COLUMNS"] = "80"
(testpath/"file1").write <<~EOS
foo
bar
potato
baz
EOS
(testpath/"file2").write <<~EOS
eeny potato meeny miny moe
EOS
system bin/"codemod", "--include-extensionless", "--accept-all", "potato", "pineapple"
assert_equal %w[foo bar pineapple baz], File.read("file1").lines.map(&:strip)
assert_equal ["eeny pineapple meeny miny moe"], File.read("file2").lines.map(&:strip)
end
end