Orange is my favorite color

I couldn’t find this easily with TEH GOOGLE so I present to you here, a complete list of the built-in properties that you can access using Ant. If you don’t know what Ant is and you’re a developer, then you probably don’t use deployment scripts and should be whipped. Check out Jim Priest’s Ant Wiki for a boatload of information and helpful links.

You need do nothing else other than wrap these values in with a ${} inside of a build file to use their values. They are a combination of built-in Ant properties and all of System.getProperties():

basedir		the absolute path of the project's basedir (as set with the basedir attribute of <project>).
ant.file	the absolute path of the buildfile.
ant.version	the version of Ant
ant.project.name	the name of the project that is currently executing; it is set in the name attribute of <project>.
ant.java.version	the JVM version Ant detected; currently it can hold the values "1.2", "1.3", "1.4" and "1.5".
ant.home	home directory of Ant
java.version	JRE version
java.vendor	JRE vendor
java.vendor.url	Java vendor URL
java.home	Java installation directory
java.vm.specification.version	JVM specification version
java.vm.specification.vendor 	JVM  specification vendor
java.vm.specification.name 	JVM specification name
java.vm.version	JVM implementation version
java.vm.vendor	JVM implementation vendor
java.vm.name	JVM implementation name
java.specification.version	JRE specification version
java.specification.vendor	JRE specification vendor
java.specification.name		JRE specification name
java.class.version	Java class format version number
java.class.path	Java class path
java.ext.dirs	Path of extension directory or directories
os.name		Operating system name
os.arch		Operating system architecture
os.version	Operating system version
file.separator	File separator ("/" on UNIX)
path.separator	Path separator (":" on UNIX)
line.separator	Line separator ("\n" on UNIX)
user.name	User's account name
user.home	User's home directory
user.dir	User's current working directory

If you want to test these, just use echo:

<echo>OS: ${os.arch}</echo>
<echo>VM: ${java.vm.name}</echo>
<echo>Username: ${user.name}</echo>

Finally, you can also get at your environment variables for your system by using the following syntax:

<property environment="env"/>

<echo>Hostname: ${env.COMPUTERNAME}</echo>
<echo>Path: ${env.Path}</echo>

Note that the environment variables are case-sensitive even if your OS is not (e.g., Windows). So for Windows, the variable is env.Path but on Unix (I believe) it would be env.PATH. env.PATH at any rate doesn’t work on Windows so watch your case!

1 Comment »

  1. engtech said:

    on April 4, 2008 at 7:26 am

    Try rake.

    It’s the best build tool I’ve tried so far. So simple. So powerful.

{ RSS feed for comments on this post} · { TrackBack URI }

Leave a Comment

XHTML: Line-breaks are automatic. Available tags are <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> <img src="">