homebrew-core/Formula/ant.rb

76 lines
2.5 KiB
Ruby

class Ant < Formula
desc "Java build tool"
homepage "https://ant.apache.org/"
url "https://www.apache.org/dyn/closer.cgi?path=ant/binaries/apache-ant-1.9.7-bin.tar.bz2"
sha256 "be2ff3026cc655dc002bbcce100bd6724d448c63f702aa82b6d9899b22db7808"
head "https://git-wip-us.apache.org/repos/asf/ant.git"
bottle do
cellar :any_skip_relocation
sha256 "db8eac6041dae8543e34aa367cbff6da3f0556a77202a44d90a527fcbcc68ac4" => :sierra
sha256 "5d6d2bf3ea95ef2191ff303e4d130cc5127e6842a3edda6a838c1cf58ddfdbbf" => :el_capitan
sha256 "aa07fd6364c81b62289816e14ec4543c3414c2dc0824d7f732f41e9240fa2137" => :yosemite
sha256 "493ef77af3a5130f705d7040cc1e4abf40ca7661d0a699c7087ff0e1cc49edca" => :mavericks
end
keg_only :provided_by_osx if MacOS.version < :mavericks
option "with-ivy", "Install ivy dependency manager"
option "with-bcel", "Install Byte Code Engineering Library"
resource "ivy" do
url "https://www.apache.org/dyn/closer.cgi?path=ant/ivy/2.4.0/apache-ivy-2.4.0-bin.tar.gz"
sha256 "7a3d13a80b69d71608191463dfc2a74fff8ef638ce0208e70d54d28ba9785ee9"
end
resource "bcel" do
url "https://search.maven.org/remotecontent?filepath=org/apache/bcel/bcel/5.2/bcel-5.2.jar"
sha256 "7b87e2fd9ac3205a6e5ba9ef5e58a8f0ab8d1a0e0d00cb2a761951fa298cc733"
end
def install
rm Dir["bin/*.{bat,cmd,dll,exe}"]
libexec.install Dir["*"]
bin.install_symlink Dir["#{libexec}/bin/*"]
rm bin/"ant"
(bin/"ant").write <<-EOS.undent
#!/bin/sh
#{libexec}/bin/ant -lib #{HOMEBREW_PREFIX}/share/ant "$@"
EOS
if build.with? "ivy"
resource("ivy").stage do
(libexec/"lib").install Dir["ivy-*.jar"]
end
end
if build.with? "bcel"
resource("bcel").stage do
(libexec/"lib").install Dir["bcel-*.jar"]
end
end
end
test do
(testpath/"build.xml").write <<-EOS.undent
<project name="HomebrewTest" basedir=".">
<property name="src" location="src"/>
<property name="build" location="build"/>
<target name="init">
<mkdir dir="${build}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${build}"/>
</target>
</project>
EOS
(testpath/"src/main/java/org/homebrew/AntTest.java").write <<-EOS.undent
package org.homebrew;
public class AntTest {
public static void main(String[] args) {
System.out.println("Testing Ant with Homebrew!");
}
}
EOS
system "#{bin}/ant", "compile"
end
end