This is the weekly build I'm referring to rather than the CC builds. I really need to be sure it's clean. If one file gets removed from the code repository (StarTeam for us), but it doesn't get cleaned out of the build directory, the repercussions could be humongous. Maybe the file got deleted, but references to it in the application didn't get removed. The build continues to work because we aren't doing a clean. 6 months down the line when we finally do a clean, the build stops working but the file is no where to be found. I've been bit like this before and changed my evil ways ;0)
________________________________ From: David Weintraub <[email protected]> To: Ant Users List <[email protected]> Sent: Monday, June 1, 2009 12:46:19 PM Subject: Re: Use of Sleep On Mon, Jun 1, 2009 at 12:48 PM, Eric Fetzer <[email protected]> wrote: > Will "updates" get rid of files that got deleted from the repository? It all really depends upon the revision control system you're using. If the revision control system tracks directories (like Subversion and ClearCase), the answer is "yes", it will remove directories when they have been deleted. If you use something like CVS, there's a special parameter on the "update" command that removes empty directories. A few revision control systems might not. I find that if you do a few things, you'll be good about 99% of the time: Don't update source files. Try to keep your built object files (like classfiles) and your source files in separate directories. And, have a good "clean" target. I usually do a clean before each build to eliminate rebuild issues. Where things mess up is when there's a major revamping of the whole project structure where directories and files are renamed, deleted, and moved. In those cases, I am usually forced to do a checkout instead of an update. Of course, the only way to be really, really sure is to do a checkout, but if checkouts take hours, and your build process drags out, you'll end up doing more harm than good. A good compromise is to do an update on nomal continuous test builds for speed, and when you actually build the release, use a clean checkout. That will give you the development speed, but make sure your customers are getting exactly everything in the build. -- David Weintraub [email protected]
