To solve my dependency order problem, I set my build file to follow a text
file with the vbp paths and names (in build order).  I've included a script
snippet that works with the vbp.build.include file I posted earlier.

Here is a quick explanation...
To make everythign, the make task is called (the splash.setdate is another
task that edits the common splash screen with current build time and version
info) that set's a property for what target I want called in
vbp.build.include and then calls the projects task.

The projects task loops through the projects.txt file first checking to see
if I have set the property vbpname to build only one project or build them
all.  It then calls the target property ${target} in vb6.build.include with
the vbp from the text file.

This allows me to control which projects are being built and in what order
with a text file (easier to explain to other people than a xml nant build
file :-)

My make task in vb6.build.include (attached to this email) has grown, in
part because the NAnt vb6 task didn't accept conditional compiler arguments
(I've been meaning to add that :-)  And, lately, to solve a problem with
CLSID's we have run across (where the version compatible component cannot be
built with binary comopatibly any more).

I have been trying to find the time to create real tasks and submit them for
inclusion, but it's been hard to find extra time to do this.  

At the moment, we are working on converting our installations to MSI files
either with nant or, most likely, a mixture of nant and wise for windows
installer.

There are also some odd cases that most people wouldn't need (before we
started using nant, the vbp's would place there build targets in one
directory, so I have checks for that) so hopefully the scripts are readable
;-)

John Cole



------------------------------------------------------------
<include buildfile="vbp.build.include" />
<property name="projectfile" value="projects.txt" />
<property name="vbpname" value="" />

<target name="make" depends="splash.setdate">
        <property name="target" value="make" />
        <call target="projects" />
</target>

<target name="projects">
        <foreach item="Line" in="${projectfile}" delim="," property="vbp,y">
                <!-- check to see if we process all or only selected
projects -->
                <if test="${vbpname == ''}">
                        <property name="project.module"
value="${path::get-directory-name(vbp)}" />

                        <echo message="${project.module}" />
                        <nant target="${target}" inheritall="true"
buildfile="vb6.build.include" />
                </if>
                
                <if test="${string::index-of(vbp, vbpname) > 0}">
                        <property name="project.module"
value="${path::get-directory-name(vbp)}" />

                        <echo message="${project.module}" />
                        <nant target="${target}" inheritall="true"
buildfile="vb6.build.include" />
                </if>
        </foreach>
</target>
-----------------------------------------------------------------------

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Subbu
Balakrishnan
Sent: Monday, November 01, 2004 11:21 PM
To: '[EMAIL PROTECTED]'; John Cole; '[EMAIL PROTECTED]'
Cc: '[EMAIL PROTECTED]';
'[EMAIL PROTECTED]'
Subject: Re: [Nant-users] VB6 build dependencies



Quite by accident, I came upon the John's vbp.build.include and Els'
(Peter's?) C# code to create a build order. Gents, can't thank you enough.
I've had some trouble getting started with this and these two pieces of code
will be an immense help.

Christian, any joy with your vb6 build issues?

Regards
Subbu




-------------------------------------------------------
This SF.Net email is sponsored by:
Sybase ASE Linux Express Edition - download now for FREE
LinuxWorld Reader's Choice Award Winner for best database on Linux.
http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users


-------------------------------------
This email and any files transmitted with it are confidential and intended solely for 
the use of the individual or entity to whom they are addressed. If you have received 
this email in error please notify the system manager. This message contains 
confidential information and is intended only for the individual named. If you are not 
the named addressee you should not disseminate, distribute or copy this e-mail.

Attachment: vb6.build.include
Description: Binary data

Reply via email to