[Anthill-pro] Anthill wants to know if a build is required, but I don't want it to care

Eric Minick etm at urbancode.com
Mon Aug 28 14:32:42 CDT 2006


Bryan,

What you've communicated to Anthill with the force build flag is that 
you don't want to make the build or don't build decision based on the 
presence of revisions. The assumption made is that you still want the 
revision log which has some intrinsic value.

Evidently that's a poor assumption in your case. One outstanding task 
for us is to give you the option to get the revision history using the 
CVS history command which would be much faster but isn't supported by 
all versions of CVS. If it was fast, maybe you'd find a revision log 
more attractive.

In the meantime, I think the goal would be to give you an automated way 
of using the "Do not check for revisions" flag might be effective for 
that build track. I think a Build Event Action triggered on the build 
request might do the trick.

You might try a script that like:

// Fetch Properties from the script wrapper.
buildDef = scriptWrapper.getProperty("buildDefinition");

// Never check for revisions
buildManager = buildDef.getBuildOwner().getBuildManager();
buildManager.setNotCheckingRevisions(buildDef, isNotCheckingRevisions);


Or you could get fancy and try to limit this behavior to scheduled 
builds, or forced builds.

// Fetch Properties from the script wrapper.
buildDef = scriptWrapper.getProperty("buildDefinition");

// Never check for revisions
if (buildDef.getUserName().startsWith("SCHEDULE") && buildDef.getForcedBuildFlag()) {
  buildManager = buildDef.getBuildOwner().getBuildManager();
  buildManager.setNotCheckingRevisions(buildDef, isNotCheckingRevisions);
}


Regards,
Eric




Bryan Dotzour wrote:

> I’m using Anthill 2.6.1 and I’m trying to troubleshoot an issue where 
> our build takes way longer than you’d think it should. I can provide 
> more information if desired, but basically it turns out that my build 
> gets broken down into the following tasks:
>
> 1. Clean up (takes almost no time)
>
> 2. Checkout (takes just under 4 minutes)
>
> 3. Is Build Required (takes almost 12 minutes!!!)
>
> 4. All my hourly build tasks including DB construction, unit tests, 
> etc (takes about 12 minutes)
>
> The thing I don’t understand is the “Is Build Required” step. From 
> what I can see, it looks like it’s getting the CVS log for every file 
> in the project since the last time the build was run. Presumably it’s 
> doing this to find out if any revisions have been made and thus it can 
> decide whether or not a build is required. My issue with this is that 
> I have my build set up to delete all the files from the disk after the 
> build is run. I also set my schedule up to “Force builds”. In my mind 
> this means I want the build to occur no matter if anything in CVS 
> changed at all. I don’t understand then why I’m waiting 12 minutes to 
> check revisions when I clearly don’t care if there are any revisions. 
> How can I tell Anthill that it shouldn’t care either?
>
> I’m confused and wondering if I’ve got my build set up strangely or if 
> I’m completely missing a core concept here. Any help or comments would 
> be greatly appreciated.
>
> Thank you,
>
> Bryan
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Anthill-pro mailing list
>Anthill-pro at lists.urbancode.com
>http://lists.urbancode.com/mailman/listinfo/anthill-pro
>  
>



More information about the Anthill-pro mailing list