Tuesday, September 29, 2009

Ant Build Tool and QA Tools

I recently was given the task of learning and using the Ant Build tool and Quality Assurance (QA) tools. The Ant Build Tool is most useful when it is used with Ivy. Ivy imports a lib directory and is used in xml files to help The Ant Build tool is a great tool for working with big java group projects since it can automate the compilation and testing of java applications. This greatly saves time for the programmers since the compilation and testing could all be done from one command. Another great thing about the Ant Build tool is that if the build.xml file is setup properly, it could download and install all of the necessary applications for a project onto each member's computer. A good example is the build.xml file from the package that I used in my ICS 413 class. The build.xml file from that package downloaded all QA tools that I didn't have on my computer and downloaded it for me.

The QA tools that can be run using Ant+Ivy like checkstyle, findbugs, and pmd. Each of these programs check the java code for small errors like unused variables, inefficient code, and for correct documentation. Each of these small QA tools can be called in an Ant build file. This enables projects with large groups to all follow the same coding standards. This also allows everyone working with the project to be able to reach each others code easier since everyone needs to follow the same style of coding.

When I ran checkstyle, findbugs and pmd, I originally had no errors in pmd and findbugs. But I had a lot of checkstyle errors. I fixed all of the errors and ran findbugs and lost the checkstyle folder. So I am unable to paste any of those errors onto this blog.

The greatest part about Ant is that can be used on any type of platform. So the same build file could be run on a Mac as on a Windows machine.

CounterBot had some weaknesses in its design as it would always go the right wall first and go up and down that wall. Since my robot depends on taking a wall early, I changed my robot to go to the nearest wall, either the left or right wall and start moving up and down that wall. I also made my robot shoot the most powerful bullet when at a farther range. This allowed my robot to become a little stronger at close combat.

My updated CounterBot can be found here.
My distribution file can be found here.

0 comments:

Post a Comment