Need tips on how to organise projects

After years of using Finalbuilder it's dawned on me that my projects are not 'optimal'.  I'm guessing this is going to be a fairly simple question:

Generally,  all my projects follow the same pattern: pop up a box asking for params (build numbers, release/internal build, ftp, email users etc) , check out from source control and then perform a number of builds (release, demo, update) before optionally ftp'ing the files and emailing the users.

Each of my project scripts contain duplicate code/action lists, e.g.:

 - FTP file: calc md5, ftp, call script to calc md5 on server, compare

 - Update web site with release details

 - Email users.

The above means that I have to update all my project files when (say) the ftp file procedure changes.  Is there a way to maintain a separate (e.g.)  'FTP File' project/Action List and pull that into my individual project scripts?

Thanks

David

 

 

 

 

 

 

Hi

I have a similar situation. During the years I have build the following script:

I have a wrapper program that is interactive (called PB1) there the user will select the project that he wants to run, and what actions he wants to do (Get, compile , wise, etc). Project list is in an INI file. He can either create a New Build or and existing one (maybe he wants only to GET one file and then compile 3 files). All this inforamtion is written into and INI file that is the input so a second program, that does the actual run. For each project I have a different INI files with all the action details (A section with the GET actions, compilation list, etc). The second program is then invoked (called PB2), using the INCLUDE action. It goes to the requested ini file of that project and does the requested actions. The reason I did this is that the second program is the one that I use for the nightly builds, I just change the INI file that is the input for the real run, and I run the nigtly build using FBCMD. Everything runs great, except to one small disadvantage - The Debugging for a project that is included in a project isn't so simple.

The fact the details for my runs are inside an INI file makes it easier to view and change. And also I don't have to replicate code, because my script is very detailed especially for delphi compilation Actions.

Hope this helped - Daphna

Hi David,

> Is there a way to maintain a separate (e.g.) ‘FTP File’ project/Action List and pull that into my individual project scripts?

Yes - you can create a separate project and call it using the “Include Project” action. This action also lets you run just an action list within that project too… so you could have a Utilities project file, with an FTP action list, Email action list, etc.

As Daphna already mentioned, debugging an included project isn’t easy as there is currently no way that the debugger can step into the included project.

.t8

Thanks for the tips.  Is there a way to make an included project's variable visible to a host project?  Rather than declaring the same set of vars in each host project I've thought about defining then in my 'utilities' project.

Thanks

Hi David,

Unfortunately, not really. If all of the projects are running as the same user, then you could create a User variable and use the “Share Variable Namespace” option on the Include Project action to share the user variable values between parent and child projects.

Regards,

Angus