[28109] | 1 |
|
---|
| 2 | A N T
|
---|
| 3 |
|
---|
| 4 |
|
---|
| 5 | What is it?
|
---|
| 6 | -----------
|
---|
| 7 |
|
---|
| 8 | Ant is a Java based build tool. In theory it is kind of like "make"
|
---|
| 9 | without makes wrinkles and with the full portability of pure java code.
|
---|
| 10 |
|
---|
| 11 |
|
---|
| 12 | Why?
|
---|
| 13 | ----
|
---|
| 14 |
|
---|
| 15 | Why another build tool when there is already make, gnumake, nmake, jam,
|
---|
| 16 | and others? Because all of those tools have limitations that its original
|
---|
| 17 | author couldn't live with when developing software across multiple platforms.
|
---|
| 18 |
|
---|
| 19 | Make-like tools are inherently shell based. They evaluate a set of
|
---|
| 20 | dependencies and then execute commands not unlike what you would issue on a
|
---|
| 21 | shell. This means that you can easily extend these tools by using or writing
|
---|
| 22 | any program for the OS that you are working on. However, this also means that
|
---|
| 23 | you limit yourself to the OS, or at least the OS type such as Unix, that you
|
---|
| 24 | are working on.
|
---|
| 25 |
|
---|
| 26 | Makefiles are inherently evil as well. Anybody who has worked on them for any
|
---|
| 27 | time has run into the dreaded tab problem. "Is my command not executing
|
---|
| 28 | because I have a space in front of my tab!!!" said the original author of Ant
|
---|
| 29 | way too many times. Tools like Jam took care of this to a great degree, but
|
---|
| 30 | still use yet another format to use and remember.
|
---|
| 31 |
|
---|
| 32 | Ant is different. Instead a model where it is extended with shell based
|
---|
| 33 | commands, it is extended using Java classes. Instead of writing shell
|
---|
| 34 | commands, the configuration files are XML based calling out a target tree
|
---|
| 35 | where various tasks get executed. Each task is run by an object which
|
---|
| 36 | implements a particular Task interface.
|
---|
| 37 |
|
---|
| 38 | Granted, this removes some of the expressive power that is inherent by being
|
---|
| 39 | able to construct a shell command such as `find . -name foo -exec rm {}` but
|
---|
| 40 | it gives you the ability to be cross platform. To work anywhere and
|
---|
| 41 | everywhere. And hey, if you really need to execute a shell command, Ant has
|
---|
| 42 | an exec rule that allows different commands to be executed based on the OS
|
---|
| 43 | that it is executing on.
|
---|
| 44 |
|
---|
| 45 | The Latest Version
|
---|
| 46 | ------------------
|
---|
| 47 |
|
---|
| 48 | Details of the latest version can be found on the Apache Ant
|
---|
| 49 | Project web site <http://ant.apache.org/>.
|
---|
| 50 |
|
---|
| 51 |
|
---|
| 52 | Documentation
|
---|
| 53 | -------------
|
---|
| 54 |
|
---|
| 55 | Documentation is available in HTML format, in the docs/ directory.
|
---|
| 56 | For information about building and installing Ant, see
|
---|
| 57 | docs/manual/index.html
|
---|
| 58 |
|
---|
| 59 |
|
---|
| 60 | Licensing
|
---|
| 61 | ---------
|
---|
| 62 |
|
---|
| 63 | This software is licensed under the terms you may find in the file
|
---|
| 64 | named "LICENSE" in this directory.
|
---|
| 65 |
|
---|
| 66 | This distribution includes cryptographic software. The country in
|
---|
| 67 | which you currently reside may have restrictions on the import,
|
---|
| 68 | possession, use, and/or re-export to another country, of
|
---|
| 69 | encryption software. BEFORE using any encryption software, please
|
---|
| 70 | check your country's laws, regulations and policies concerning the
|
---|
| 71 | import, possession, or use, and re-export of encryption software, to
|
---|
| 72 | see if this is permitted. See <http://www.wassenaar.org/> for more
|
---|
| 73 | information.
|
---|
| 74 |
|
---|
| 75 | The U.S. Government Department of Commerce, Bureau of Industry and
|
---|
| 76 | Security (BIS), has classified this software as Export Commodity
|
---|
| 77 | Control Number (ECCN) 5D002.C.1, which includes information security
|
---|
| 78 | software using or performing cryptographic functions with asymmetric
|
---|
| 79 | algorithms. The form and manner of this Apache Software Foundation
|
---|
| 80 | distribution makes it eligible for export under the License Exception
|
---|
| 81 | ENC Technology Software Unrestricted (TSU) exception (see the BIS
|
---|
| 82 | Export Administration Regulations, Section 740.13) for both object
|
---|
| 83 | code and source code.
|
---|
| 84 |
|
---|
| 85 | The following provides more details on the included cryptographic
|
---|
| 86 | software:
|
---|
| 87 |
|
---|
| 88 | For the SSH family of tasks (<sshexec> and <scp>) Ant requires the
|
---|
| 89 | JSch <http://www.jcraft.com/jsch/index.html> library as well as the
|
---|
| 90 | Java Cryptography extensions
|
---|
| 91 | <http://java.sun.com/javase/technologies/security/>. Ant does not
|
---|
| 92 | include these libraries itself, but is designed to use them.
|
---|
| 93 |
|
---|
| 94 | Thanks for using Ant.
|
---|
| 95 |
|
---|
| 96 | The Apache Ant Project
|
---|
| 97 | <http://ant.apache.org/>
|
---|