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.10.5-bin.tar.xz" sha256 "cebb705dbbe26a41d359b8be08ec066caba4e8686670070ce44bbf2b57ae113f" head "https://git-wip-us.apache.org/repos/asf/ant.git" bottle :unneeded keg_only :provided_by_macos if MacOS.version < :mavericks option "with-ivy", "Install ivy dependency manager" option "with-bcel", "Install Byte Code Engineering Library" depends_on :java => "1.8+" 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://www.apache.org/dyn/closer.cgi?path=commons/bcel/binaries/bcel-6.2-bin.tar.gz" sha256 "e5963ed50ef1f243f852a27efaf898c050a3b39721d147ccda8418c0b7255955" 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 #!/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 "bcel-#{resource("bcel").version}.jar" end end end test do (testpath/"build.xml").write <<~EOS <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 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