Michael Frederick wrote:
> Well, CCNet can do a "wait for multiple files to appear and start a 
> project", but the changes all have to appear within one CCNet 
> project-defined polling interval.  Since I mentioned that the 3 worker 
> projects may finish hours apart, I'm not sure if this is a good idea.
>
There have been some recent discussions on the CC.Net mailing lists that 
go into this problem in more detail, with some people working on 
possible solutions.

Until then, you could have a separate watcher project in CC.Net that 
monitors a directory.  Each of the three projects creates its own file 
in the given directory, so CC.Net will guarantee that the watcher 
project is called whenever a new file gets created.  The watcher project 
does nothing if the directory doesn't contain all three files.  If it 
does, then the watcher project deletes or moves them, and then does a 
forceBuild on the project that you want to fire when all three projects 
are done.  The CC.Net web site (if it would only stay up) has a custom 
nant task for forcing a CC.Net project from a NAnt build file.

So you could have

   <target name="doIt" if="${file::exists(semaphore.projectA) and 
file::exists(semaphore.projectB) and file::exists(semaphore.projectC)}>
       <delete>
          <fileset>
              <include name="${semaphore.projectA}" />
             ...
      </delete>
     <forceCCNetProject name="projectD" /> <!-- I don't remember the 
exact name of this task -->
  </target>

Gary



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to