Chuck Bryan wrote:

> I had a similar question a few weeks ago as I was trying to
> get Draco and the Nant scripts working correctly.
> 
> The choices that others had presented where:
> 
> 1) Put Nant in the same VSS Project Directory (sorry for the
> VSS terms when you are using subversion). Then, use relative 
> pathing to address the structure of your source code.
> 
> 2) Use the VSS tasks that come with Nant. The VSSGet task
> allows you to set locations, etc. Draco will still get your 
> files to its temp directory, but, the build script will then 
> get files and place them where you want (i.e., a "get" is done twice).
> 
> I tried both methods, but ended up using option #1 (mostly
> due to the double get).

I had a similar issue to this, but solved it differently in the end. I
modified Draco to pass the temporary folder location as a Nant property
(draco.workdir) to the build script. I could then have a Nant task move the
source to the required location. 

The modification - to NAntBuildTool.cs - was trivial and I've attached a
diff of the changes. I think this might be a useful property for Nant to
have access to anyway, irrespective of being a way to solve the above, so it
would be good if this could be incorporated into the Draco code. 

Phil  

> -----Original Message-----
> From: Shane Taylor [mailto:[EMAIL PROTECTED]
> Sent: Thursday, November 27, 2003 9:37 PM
> To: [EMAIL PROTECTED]
> Subject: [Draconet-users] Having a Specific Working Copy
> Directory... instead of checking out to a different place each time?
> 
> Is it possible to tell Draco where to check the working copy
> of the source out to? =20
> 
> Here is why I ask this...
> 
> 1.) We version control Nant itself along with any custom Nant
> tasks we have written.  We want the Build server to be using 
> the latest version of Nant (along with our custom tasks) as 
> we change it.  It would be very easy to "upgrade" Nant on the 
> build server if we had a controlled location to point to.
> 
> 2.) We have a lot of our own source (and other things such as
> Nant, NDoc, NUnit, etc...) in source control.  It is a lot of 
> overhead to download all the source each time to a different 
> location - especially if perhaps only a single file has 
> changed.  If the source was checked out to a common 
> controlled location, only the diffs would be sent over the 
> wire (instead of approximately 30meg for us).
> 
> 3.) I understand that we can create our own tasks (we use
> Subversion... does anyone out there have any tasks for it??? 
> :-) that can check out the source for us to a controlled 
> location.  This way, problems #1 and #2 would be essentially 
> solved (well... not really).  Now, however, there would be 
> two source trees - 30 meg that Draco would get check out each 
> time (to a different location) when a filed changed, and then 
> the other tree would be checked out and maintained by the 
> Nant tasks themselves (only sending diffs across the wire).  
> This seems rather wasteful as source tree that Draco checked 
> out would not be used.  It would only be slowing everything down.
> 
> Now, I also understand that this might have been by design to
> check out code to a different location as this ensures a 
> totally clean build each and every time.  This is a very nice 
> feature for those who need to get up and running quickly.  
> However, most people should take time to create a decent 
> "clean" target that would allow a totally clean build without 
> switching working directories...
> 
> I like the idea of checking out to a separate location to
> ensure a clean build for some, however in our case (and 
> probably many others...), it would be a nice thing to turn 
> off and have a controlled working copy location. If Draco 
> does not allow this currently, is this something that is in the works?
> 
> Also, I am curious to see what other people's interest is in
> this... perhaps I am overlooking something and this is not a 
> concern.  If it is, perhaps I (and others) can help out.
> 
> 
> Respectfully,=20
> 
> Shane
> 
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.537 / Virus Database: 332 - Release Date: 11/6/2003 =20


------------------------------------------------------------------------------
DISCLAIMER: This email and files transmitted are confidential and are intended
solely for the use of the intended recipient.  If you are not the intended
recipient, or the person responsible for delivering it to the intended
recipient, you may not copy, disclose, distribute or use it in any
unauthorised manner.  If you have received this email in error please notify
us by email to [EMAIL PROTECTED] and then delete it and any
attachments accompanying it.  Please note that Wolverhampton City Council
cannot guarantee that this message or any attachments are virus free or have
not been intercepted and amended.
Any views or opinions expressed within this email are those of the author and
may not necessarily reflect those of Wolverhampton City Council and no
contractual arrangement is intended to arise from this communication.
==============================================================================
77c77
<             StartInfo startInfo = new StartInfo(nantexe, 
MakeArguments(workingDirectory), workingDirectory);
---
>             StartInfo startInfo = new StartInfo(nantexe, MakeArguments(), 
> workingDirectory);
90c90
<         private string MakeArguments(string workingDirectory) {
---
>         private string MakeArguments() {
94d93
<             args += " -D:draco.workdir=" + workingDirectory;

Reply via email to