The other solution could be to define a new build configuration as
follows in .Net IDE

1. Go to Build-> Configuration Manager
2. Select 'New' from the 'Active Build Configuration' drop down list.
3. Give it a name. 
4. Select Debug/Release from the 'Copy Settings From' drop down list. 
5. Click 'OK'
6. Select the checkboxes projects that need to be compiled for this
configuration.
7. Select the newly created configuration to be as 'Active Solution
Configuration'. This is required when we are compiling    in the .Net
IDE itself.
7. Click 'Close'

This has created a new solution build configuration. This build
configuration can be used in the Nant task as given below:

        <property name="config" value="patch-debug" />

        <exec program="${devenv.exe}" >
                
                <arg value="${path::combine(project.sln.dir,
project.sln.file)}" />
                <arg value="/build" />
                
                <arg value="${config}" />

                <arg value="/Out" />
                <arg value="${build.dir}/Build.log" />
        </exec>


Thanks
Shelly



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Joe Kemp
Sent: Thursday, August 11, 2005 11:46 PM
To: nant-users@lists.sourceforge.net
Subject: RE: [Nant-users] Differential builds

I think you might be right with the file::exists.  At first I was
worried I need to also check if the date changed, but I think that
doesn't matter anymore.  I definitely want to get away with modifying
NAnt if possible.  Now that I can build the scripts with a click of a
button, I do not care how complicated the build script gets.

-----Original Message-----
From: Jeremy P. Owens-Boggs [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 11, 2005 2:12 PM
To: Joe Kemp; nant-users@lists.sourceforge.net
Subject: RE: [Nant-users] Differential builds

If I understand correctly, then this should work well.  It sounds like
you may be modifying the source code to accomplish step 4 when you would
only need to use the built-in nant function file::exists().  

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Joe Kemp
Sent: Thursday, August 11, 2005 11:57 AM
To: nant-users@lists.sourceforge.net
Subject: RE: [Nant-users] Differential builds

I need to be able to produce these build to determine what files need to
be updated on the client.  I know typical installation apps (i.e.
Installshield) can create patches to send out updates to apps.  However,
we are using a remote deployment scenario over a wireless network.
Deployment is using a process kind of like the Microsoft Updater
Application Block.  Our solution is made up of a bunch of small
assemblies.

Here is what I have so far.
1.  Wrote a Visual Studio plugin to create a NAnt script based on the
open solution. It deals with dependencies, references, etc.
2.  Wrote a utility to extract the public members of an assembly and
write their specification to an xml document.
3.  Wrote a utility to compare two xml documents to determine if any
public members in the old assembly have changed in the new assembly.  If
so it creates a "changed file" as a flag.
4.  Modified the FileSet.FindMoreRecentLastWriteTime to not only look at
referenced assemblies date but also for the existence of the changed
file flag that might have been created in 3.  Signals a recompile is
necessary if date and changed and the flag file exists.

The NAnt script makes sure steps 2 and 3 are completed if any assembly
is recompiled.

So far so good.  Hopefully, I am not going down a path of disaster.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Gary
Feldman
Sent: Thursday, August 11, 2005 1:30 PM
To: nant-users@lists.sourceforge.net
Subject: Re: [Nant-users] Differential builds

Joe Kemp wrote:

> I am developing a process to create true differential builds.  My 
> definition of a differential build is compiling only assemblies that 
> really need to be recompiled.  This requires looking at more than the 
> datetime of the dependencies of an assembly.  I need to know if any 
> public members have changed and then signal any referring assemblies 
> that they need to recompile.  I think ant has a task <depend> that 
> kind of accomplishes this.  Has anyone tried accomplishing this with 
> NAnt?  It seems that this concept is contradictory to most build 
> environments.  Reliance on datetimes and cleaning build environments 
> seem to be assumed the norm.
>
As near as I can tell from the Ant documentation, that's not what it's
doing.  It's determining dependencies based on whether or not a class
has changed, without looking for changes that don't affect public
members.

This seems like a difficult problem, requiring deep knowledge of the way

the .Net compilers use the information in referenced assemblies.  It's
probably not as difficult as the problem for standard C/C++, but it's
still hard.  If you're in a situation where there's so much coupling
that recompilation times are an issue, that's probably an indication
that you'd be better served by refactoring your codebase to reduce the
coupling.

Gary





-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users



-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle
Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing &
QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
Nant-users mailing list
Nant-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to