| <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 <ant> and a few other tasks should |
| make it easier to write large, scalable build files. |
| <li>Deployment. Take a look at the new <serverdeploy> 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 <assertionset> datatype to give users control of which assertions |
| to enable, and patch this in to things like the <junit> and |
| <java> tasks, things would get very interesting. |
| <li>Continuous builds. Automated build tools are becoming more widely |
| used; fork options on <javac> and <javadoc> 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 <condition> tag to see what you can |
| look for, then at <waitfor> to use the same tests in deployment. |
| Finally, notice the <tt>if</tt> and <tt>unless</tt> attributes on |
| <fail> 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> |
| |