Example projects?

Are there more example projects for download? The first issue I notice (we have the Delphi XE version of FB) is that none of the Delphi examples are there, just the basic examples. When I try to open them, it says it can't find them. Can I download these? And more than that, I would love much more complicated examples to learn from. The example in the demo videos that shows the build used to build finalbuilder itself would be very helpful. We have a build that looks like this if anyone can point us to a good example or examples:

Update the version info for each of 6 different build types for each of 7 different IDEs. ex: ful, eval, pro_only, standard_only, etc, for Delphi7, Delphi 2005, Delphi2007, etc, etc. So that is over 40 builds with only slight variations that take the core code, change the version info, rebuild the resource file (we now have to open the IDE manually for this since they are Delphi packages (dpk files)) build each of the build types for that IDE, then copy the source into a folder for the next IDE, build the project with the command line options of the compiler, and do it all over again.

We have a bunch of EXEs we wrote (to inject a serial number or stick a version into a DOF or .dproj file) and a bunch of batch files that do this now. I believe I can do it all in final builder, even what the EXEs do because it seems that parsing text in and out of files can be done with a FB action. Thanks!

Hi

It looks like a typo resulted in the delphi demo projects not getting picked up by the installer. I have just checked in a fix for that. I have attached the Delphi XE demo project to this post. We don't make our own build project available as there are parts in there we don't want to share with the hacker community.

What you are looking to do cannot be done with the Rad Studio XE bundled version of FinalBuilder, as it only supports Delphi XE. The full version of FinalBuilder supports Delphi 3 - XE. We have many Delphi component vendors as customers, who pretty much all do what you are looking to do. Off the top of my head, NexusDB, TMS Software, Atozed Software, RemObjects to name a few.

The key to all of this is to make the build dynamic through the use of Variables and Action Lists. By putting your Delphi Actions in an action list, and using variables for things like the project file path, version info, library path etc it's simple to call the action list multiple times with different parameters. In essence, Action Lists are like procedures which take parameters.

HTH

 

 

 

 

Delphi_XE_Example.fbp7 (204.361 KB)

Hi Vincent,

I'm one of those guys that learns best by taking apart examples. For the type of build we need, this is a steep learning curve. Not TOO steep because I've found FB to be phenomenal, just that I can't learn it in a few days. I *could* just start coding it, as one might with an application, then see places where I am doing the same thing with just different parameters and then "refactor" it in stages as I am learning, but I wanted to try to avoid that. What I need more specifically is the best way to do this:

1. Do I need to pick up a new version number before the build? If so, run that to inject it into the project files

2. Select which type of build to run, EVERYTHING, just the EVALUATIONS, INSTALLER ONLY (these are batch files)

3. When running EVERYTHING, we need the following:

a. Build EVAL version of the controls for all versions of delphi, C++ Builder and an ActiveX

c. Build BASIC development only (for all the above IDEs)

d. Build BASIC development AND runtime (for all IDEs)

d. Build ADVANCED development only (for all IDEs)

e. Build ADVANCED and BASIC development only (for all IDEs)

f. Build ADVANCED and BASIC development and runtime (for all IDEs)

So that is something like 50 possibilities.

I think the issue is learning enough to know the best way to code this with the minimal amount of maintenance. I already saw a way to so some of this with lists and INI files that it reads, but then I have to remember all of the INI files that have to be maintained. Initially, I though I could just check and uncheck the boxes in the actions list, but realized that is not how it works. I saw in the help an example using an INI file where you popup a dialog box and ask "which build". Maybe that is the way to go, not sure yet. Then the rest is figuring out where to put all the variables to reuse the maximum amount of actions and where to store those values for the variables that change like "build type: basic, advanced, both", and "IDE: D7, D2007, XE" and "license: development, development and runtime", etc. The problem certainly isn't with finalbuilder, it is the challenge of having an challenging build process and a tool like FB with so much in the way of functionality

I have attached a demo project which you can use as a start.

How you store the configuration data is up to you. We keep our version information in an ini file, which is checked into version control. Our build process checks out the file, updates it and then either checks it in for a successful build or undoes the checkout  if the build fails. Like programming languages, FinalBuilder is incredibly flexible, we have tried to provide enough functionality to allow users to work how they would like to. 

HTH

Demo.fbp7 (179.043 KB)