Package: ant-base Version: 1.7.0 Revision: 2 Type: java Maintainer: Benjamin Reed # BuildDepends: fink (>= 0.22.2-1), fink-mirrors (>= 0.22.1.1-1), system-java-dev (>= 1.4-1) Depends: system-java (>= 1.4-1) Source: mirror:apache:ant/source/apache-ant-%v-src.tar.bz2 Source-MD5: 22b378e27ab300e4d73bf09d91c7e2a6 SourceDirectory: apache-ant-%v Replaces: ant (<< 1.6.5-1) PatchScript: << perl -pi -e 's,target name="test-jar",target name="test-jar" if="blah",' build.xml << CompileScript: ./build.sh -Ddist.name=ant -Dchmod.fail=false dist InstallScript: << #!/bin/sh -ex # Dump the entire application into %i/lib/ant mkdir -p %i/lib cp -R ant %i/lib # make up for failing build.xml chmod -R ugo+r %i/lib/ant # docs install -d -m 755 %i/share/doc/%N/html mv %i/lib/ant/docs/* %i/share/doc/%N/html mv %i/lib/ant/lib/README %i/share/doc/%N/README.lib rmdir %i/lib/ant/docs # binaries install -d -m 755 %i/bin cp -R ant/bin/* %i/bin rm -f %i/bin/*.bat rm -f %i/bin/*.cmd # Remove optional jars; these are provided by the ant-optional package for package in antlr apache-bcel apache-bsf apache-log4j apache-oro apache-regexp apache-resolver commons-logging commons-net icontract jai javamail jdepend jmf jsch junit netrexx starteam stylebook swing trax vaj weblogic xalan1 xslp do rm -f %i/lib/ant/lib/ant-$package.jar done # Remove all jUnit files find %i -name \*junit\* -delete << RuntimeVars: << JAVA_HOME: /Library/Java/Home ANT_HOME: %p/lib/ant << # DocFiles: INSTALL KEYS LICENSE* NOTICE README WHATSNEW Description: Java based build tool DescDetail: << Ant is different. Instead of a model where it is extended with shell based commands, it is extended using Java classes. Instead of writing shell commands, the configuration files are XML based calling out a target tree where various tasks get executed. Each task is run by an object which implements a particular Task interface. Granted, this removes some of the expressive power that is inherent by being able to construct a shell command such as `find . -name foo -exec rm {}` but it gives you the ability to be cross platform. To work anywhere and everywhere. And hey, if you really need to execute a shell command, Ant has an exec rule that allows different commands to be executed based on the OS that it is executing on. << DescPort: << The chmod task of ant would fail with Java: UNIXProcess:forkAndExec: exec failed: Argument list too long because apprently it tries to chmod thousands of files in a single line of command, another solution is to set parallel to false, which cause chmod to process one file after the other but then we get a java.io.IOException: Too many open files. Conclusion was to use unix chmod in InstallScript ;-) Removed *.bat and *.cmd in bin << License: BSD Homepage: http://ant.apache.org/