<html>
<head>
<title>Welcome to Ant1.5</title>
</head>
<body bgcolor="#ffffff">
<h1>Welcome to Ant1.5</h1>
Hello, and welcome to Ant1.5
<p>
For new users to Ant, welcome to a new way to build your software.
<p>
For veteran Ant users, its been, what nine months since Ant 1.4.1 
shipped, and we've been as busy enhancing it as you've been using it.
<p>

We know you've been using Ant, not just from the all the bug reports we
see, but from the awards we've been getting from JavaWorld and SD Magazine
and from the fact that it is now clearly a mainstream product. Every quality IDE,
from the Open Source projects: Emacs, NetBeans, Eclipse, JEdit, to the
commercial offerings such as IntelliJ IDEA and JBuilder now have high
quality Ant integration  either built in or available as a
download. And they do that not just because it improves their products,
giving users the best of both worlds -great editors and a great build
process, but because Java developers are starting to expect Ant (and
JUnit) everywhere.
<p>
Even in mid-2001, if you said you were using Ant in your project, people
would stare at you. Now, as long as you are talking with Java developers
and not management or your family and friends, people will nod, shrug
and maybe ask you questions about build file and Ant configurations. The good 
news: Ant 1.5 includes more helpful error messages and a new
<tt>-diagnostics</tt> command to look at your Ant installation and help work out why
things arent working.
<p>
Now, when you tell people you work on Ant in your spare time,
people used to give you very funny stares; now they ask you about how to
set up automated build processes, or deploy to some random app server.
The good news: Ant 1.5 makes it easier to answer those questions.

The other sign of mainstream is that there are also books on the
subject, first Java Tools for Extreme Programming, then Ant: The
Definitive Guide, and the first Ant1.5 book, Java Development with Ant,
due to ship at the end of the month. (Steve says: I prefer the one with 
my name on the cover as co-author, but I'm biased). 
As usual, the manual has improved too:
regardless of whether you need a book to work with Ant or not, you need
that on-line documentation. And as usual, any extra contributions to the
docs are welcome indeed. 
<p>
Ant has also influenced how projects are built. Now when you download
any open source project, or work with a closed source team, you expect
to see a file called build.xml there. Equally important, you expect that
build file to compile and run a set of tests using JUnit or a derivative
thereof; if they are missing, you worry.
<p>
Together, Ant and JUnit have transformed the mainstream process for
building and deploying Java projects. And that's pretty profound, when
you think about it. What is equally impressive is that this was all done
as a co-operative effort. Nobody works on Ant full-time; everybody uses
it to solve their problems, to address their build crises and generally
get something done in a hurry. It just so happens that the architectural
model of Java classes bound via introspection to the XML build file
makes it easy for people to add new tasks, extend existing ones and
generally ease their way into developing and extending Ant. It is the
users that have helped Ant become the success it is today, and will keep
it that way tomorrow.
<p>
<h2>What has changed</h2>
<p>
So, what is new in Ant1.5? Lots of stuff. You will have to look at the
<a href="WHATSNEW">whatsnew</a> file to see, but basically the changes
fall into a number of categories
<ol>
<li>Bug fixes. We know, some things were broken in 1.4. In ant1.5 we
have moved the bugs, fixing the ones we could, and no doubt adding
different ones. Hopefully the total bug count has decreased.
<li>Scalability. Changes in &lt;ant&gt; and a few other tasks should 
make it easier to write large, scalable build files. 
<li>Deployment. Take a look at the new &lt;serverdeploy&gt; task, add support
for your server if it isnt there. Tomcat 4.1 has its own deployment
tasks incidentally -fetch them from the tomcat pages.
<li>Ease of use. We have added new attributes to make the archive tasks
consistent with each other, new error messages for common problems (you
get a screenful of help when a task wont instantiate, for example), and
generally try and be helpful. As usual, we will accept contributions to 
the documentation or the code for even more helpfulness. Hey, in ant1.5
you dont need to double escape the $ sign to preserve it in a string!
<li>Java 1.4 support. We build and test fine on Java 1.4, and have the
extensions to javac needed to build code with assertions in. We should
point out that we have more work to do in this area: if someone wants to
write an &lt;assertionset&gt; datatype to give users control of which assertions
to enable, and patch this in to things like the &lt;junit&gt; and 
&lt;java&gt; tasks, things would get very interesting.
<li>Continuous builds. Automated build tools are becoming more widely
used; fork options on &lt;javac&gt; and &lt;javadoc&gt; are there to 
stop memory use growth on a continuous process. 
<li>New platforms: MacOS X for owners of those cute little laptops, 
Novell Netware servers, and even z/OS and OS/390 for mainframe
developers who write their build files on their virtual card punches.
<li>Conditions. Take a look at the &lt;condition&gt; tag to see what you can
look for, then at &lt;waitfor&gt; to use the same tests in deployment.
Finally, notice the <tt>if</tt> and <tt>unless</tt> attributes on
&lt;fail&gt; for easy halting of the build on a condition, without
having to resort to conditional targets. 
</ol>
 
There are many more enhancements, so we hope you will find your build
projects easier. We have, as usual, jumped through hoops to keep
existing builds working, even those build files that went out their way
to not work on Java 1.4 (hint: dont ask for the classic compiler, it has
gone away). If your build file stops working, and it isnt something listed 
on the 'changes that may break your build' part of the WHATSNEW file, or
something we know about on bugzilla, please dont hesitate to file a new
bug report, preferably one with a replicable test and a patch to fix the
problem.
<p>
Thanks,
<p>
The Ant development team.
<p>
PS: many thanks for Magesh to being the build manager for this release!
He has been busy since Feb/March organizing it. Magesh -you are so good
at this you should do it next time too :) 
</body></html>