I need a way to determine if there were any changes to a VS.NET project since the last build (i.e. Perforce submits since the last build). With some parsing, the Perforce 'p4 changes' command can give me the changes with dates & times, but I'm not sure how to persist the last build date/time.
(We have been using CruiseControl.NET to detect this and do our builds, but we'd like to move away from CruiseControl and just use FinalBuilder).
Any ideas how to do this, or a better way to do this?
You could persist the current build date/time out to a file or a persistent variable straight after a Perforce get action, then when you compare the Perforce output next time around, you will know whether any files have been added since the last build.
Thanks, that's the path I'm heading down. I think I can do it by persisting the Perforce changelist number at the time of build, then comparing the current vs persisted changelist numbers to determine if there were changes between build times.
The File Dependency action can also do this. Check out a (slightly old, FB 4 era) blog post I made about using File Dependency to implement a "Continuous Integration style" loop.
(Also, just quietly, we're currently working on continuous integration support for FB Server, so you might be able to delay moving away from CC.NET for now. CC.NET also supports FinalBuilder natively as a build engine.)
Regards,
Angus
Edit: This reply really is from Angus, not Tate. We're in our booth at TechEd Barcelona and I jumped on his laptop.. :-)