Return-Path: Delivered-To: apmail-ant-dev-archive@www.apache.org Received: (qmail 41730 invoked from network); 4 Mar 2004 20:13:23 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 4 Mar 2004 20:13:23 -0000 Received: (qmail 65511 invoked by uid 500); 4 Mar 2004 20:13:10 -0000 Delivered-To: apmail-ant-dev-archive@ant.apache.org Received: (qmail 65456 invoked by uid 500); 4 Mar 2004 20:13:09 -0000 Mailing-List: contact dev-help@ant.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Ant Developers List" Reply-To: "Ant Developers List" Delivered-To: mailing list dev@ant.apache.org Received: (qmail 65441 invoked from network); 4 Mar 2004 20:13:08 -0000 Received: from unknown (HELO lapis.wpds.com) (216.103.245.66) by daedalus.apache.org with SMTP; 4 Mar 2004 20:13:08 -0000 Received: from wpdslajolla.unigold (unverified [216.103.244.29]) by lapis.wpds.com (SurgeMail 1.5d2) with ESMTP id 566533 for ; Thu, 04 Mar 2004 12:13:08 -0800 Received: by localhost with Internet Mail Service (5.5.2653.19) id ; Thu, 4 Mar 2004 12:12:17 -0800 Message-ID: From: "Shatzer, Larry" To: "'dev@ant.apache.org'" Subject: [PATCH] ant_in_anger.html Date: Thu, 4 Mar 2004 12:12:16 -0800 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01C40224.FD4AEA40" X-Server: High Performance Mail Server - http://surgemail.com X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N ------_=_NextPart_000_01C40224.FD4AEA40 Content-Type: text/plain; charset="iso-8859-1" Typos, misspellings, double words... -- Larry ------_=_NextPart_000_01C40224.FD4AEA40 Content-Type: text/plain; name="patch.txt" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="patch.txt" Index: docs/ant_in_anger.html =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /home/cvspublic/ant/docs/ant_in_anger.html,v retrieving revision 1.16 diff -u -r1.16 ant_in_anger.html --- docs/ant_in_anger.html 9 Jul 2003 16:24:35 -0000 1.16 +++ docs/ant_in_anger.html 4 Mar 2004 20:10:18 -0000 @@ -218,7 +218,7 @@ =20
  • -Checkstyle
    +Checkstyle
    This tool audits your code and generates HTML reports of wherever any style rule gets broken. Nobody can hide from the code police now! tip: start using this early, so the corrections are less. @@ -238,7 +238,7 @@ descriptors, taglib descriptors, EJB interfaces, JMX interface = classes, Castor XML/SQL bindings, and many more. The key here is that all those fiddly little XML files you need to create, and those interfaces EJB = and -JMX requires to to implement, all can be autogenerated from your Java +JMX requires to implement, all can be autogenerated from your Java code with a few helper attributes. This reduces errors and means you can change your code and have the rest of the app take its cue from the source. Never do EJB, JMX or webapps without it! @@ -316,7 +316,7 @@ into a localised shell script or batch file.

    Note that DOS descended file systems are case insensitive (apart from -the obscure aberration of the WinNT posix subsystem run against NTFS), +the obscure aberration of the WinNT POSIX subsystem run against NTFS), and that Windows pretends that all file extensions with four or more letters are also three letter extensions (try DELETE *.jav in your = java directories to see a disastrous example of this). @@ -351,7 +351,7 @@ ActiveState. A Perl file with .pl extension, with the usual Unix path to perl on the line 1 comment and marked as executable can be run on Windows, OS/2 and Unix and hence called from Ant without issues. = The -perl code can be left to resolve its own platform issues. Dont forget = to +perl code can be left to resolve its own platform issues. Don't forget = to set the line endings of the file to the appropriate platform when you redistribute Perl code; <fixCRLF>=20 @@ -493,7 +493,7 @@ src - source goes in under this tree in a heirarchy which matches + source goes in under this tree in a hierarchy which matches the package names. The dependency rules of <javac> = requires this. =20 @@ -504,11 +504,11 @@ distribution jars -inf files, images, etc. These can go under source too, with a metadata directory for web.xml and similar manifests, and a web folder for web content -JSP, html, = images -and so on. Keeping the content in this folder (or sub heirarchy) +and so on. Keeping the content in this folder (or sub hierarchy) together makes it easier to test links before deployment. The actual production of a deployment image -such as a war file- can be left to = the appropriate Ant task: there is no need to completely model your source = tree=20 -upon the deployment heirarchy.=20 +upon the deployment hierarchy.=20

    =20 =20 Javadoc output can be @@ -555,7 +555,7 @@ =20 Tightly coupled projects have all the source in the same tree; = different projects own different subdirectories. Build files can be moved down = to -those subdirectores (say src/com/iseran/core and = src/com/iseran/extras), +those subdirectories (say src/com/iseran/core and = src/com/iseran/extras), or kept at the top -with independent build files named core.xml and extras.xml =20 @@ -597,7 +597,7 @@ =20 The most aggressive strategy is to get a weekly or daily snapshot of = the ant source, build it up and use it. This forces you to tweak the -build.xml files more regulary, as new tasks and attributes can take +build.xml files more regularly, as new tasks and attributes can take while to stabilise. You really have to want the new features, enjoy gratuitous extra work or take pleasure in upsetting your colleagues to take this approach. @@ -606,7 +606,7 @@ =20 Once you start extending Ant with new tasks, it suddenly becomes much more tempting to pull down regular builds. The most recent Ant builds -are invariably the the best platform for writing your extensions, as = you +are invariably the best platform for writing your extensions, as you can take advantage of the regular enhancements to the foundational classes. It also prevents you from wasting time working on something which has already been done. A newly submitted task to do something @@ -727,7 +727,7 @@ Use external property files to keep per-user settings out the build files -especially passwords. Property files can also be used to dynamically set a number of properties based on the value of a single -property, simply by dyamically generating the property filename from = the +property, simply by dynamically generating the property filename from = the source property. They can also be used as a source of constants across multiple build files. =20 @@ -805,8 +805,8 @@ parameters. Indeed, after a couple of projects you may be able to = create a re-usable core build file which contains the core targets of a basic Java development project -compile, debug, deploy- which project = specific -build files call with their own settings. If you can achive this then -you are definately making your way up the software maturity ladder. = With +build files call with their own settings. If you can achieve this then +you are definitely making your way up the software maturity ladder. = With a bit of work you may progress from being a SEI CMM Level 0 = organisation "Individual Heroics are not enough" to SEI CMM Level 1, "Projects only succeed due to individual heroics" @@ -936,7 +936,7 @@

  • deploy - ship the jars, wars, whatever to the execution system
  • publish - output the source and binaries to any distribution site
  • fetch - get the latest source from the cvs tree -
  • docs/javadocs - do the documenation +
  • docs/javadocs - do the documentation
  • all - clean, fetch, build, test, docs, deploy
  • main - the default build process (usually build or build & test)
@@ -1056,7 +1056,7 @@ dependency checking are not included in Ant. That's because they are 'different' ways of doing a build. Make requires you to state dependencies and the build steps, Ant wants you to state tasks and the -order between them, the tasks themselves can do depedency checking or +order between them, the tasks themselves can do dependency checking or not. A full java build using Jikes is so fast that dependency checking is relatively moot, while many of the other tasks (but not all), = compare the timestamp of the source file with that of the destination file @@ -1089,7 +1089,7 @@ you don't need to do that -but remember: small projects become big = projects when you aren't looking. If you start off with a little bit of = process, then you can scale it if needed. If you start with none, by the time you = need=20 -it it will be too late. =20 +it will be too late. =20 =20

You still need all the other foundational bits of a software project

@@ -1115,7 +1115,7 @@ Software development is meant to be fun. Being in the maelstrom of a tight project with the stress of integration and trying to code everything up for an insane deadline can be fun -it is certainly -exhilirating. Adding a bit of automation to the process may make = things +exhilarating. Adding a bit of automation to the process may make = things less chaotic, and bit less entertaining, but it is a start to putting you in control of your development process. You can still have fun, = you should just have less to worry about, a shorter build/test/deploy = cycle @@ -1131,7 +1131,7 @@ = href=3D"http://www.martinfowler.com/articles/continuousIntegration.html"= > Continuous Integration; Martin Fowler.
A paper on using Ant within a software project -running a continuous integration/testing proces. +running a continuous integration/testing process.
  • Refactoring; Martin Fowler, ISBN: 0201485672
    Covers JUnit as well as tactics for making some headway with the = mess of code you will soon have. @@ -1169,6 +1169,6 @@ For questions related to this document, use the Ant mailing list. =20
    -

    Copyright © 2000-2003 Apache Software = Foundation. All rights +

    Copyright © 2000-2004 The Apache Software = Foundation. All rights Reserved.

    ------_=_NextPart_000_01C40224.FD4AEA40 Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org For additional commands, e-mail: dev-help@ant.apache.org ------_=_NextPart_000_01C40224.FD4AEA40--