Spring4D on build server

98 Views Asked by At

We are looking to use Spring4D. I can download and install onto my personal developer machine.

We use Continua as an integration/build server on a different machine - it monitors the source code repo and rebuilds our product on a regular basis.

What path entries do I need to add to the machine running the Continua jobs ?

1

There are 1 best solutions below

1
On

There are a few options

  1. Add a new repo on your Continua CI configuration (you can use multiple) that points to the Spring4D repo on bitbucket and then use Repository Rules to control where the spring4D source is checked out to in the build workspace. Then add relative paths to that checkout location to the project search path in delphi. You would need to make some changes to your dev environment so that those relative paths work on your dev machine. Note that the spring4D source will be compiled every time you build.

  2. If you are not using the ui components in spring4d (in TObjectDataSet) then another option is to use the dpm package manager (installing ui components is still being worked on) - install the dpm command line client on your build agent and the IDE plugin on your dev machine, and install the spring4D packages into your project. Then add a call to the dpm command line on your Continua CI stages to restore the packages before calling your build script/msbuild/finalbuilder - this will download and compile the packages (the first time only, cached after that).

This is actually how we use Spring4D in FinalBuilder and how we build DPM itself on Continua CI. When the package versions are updated, dpm pulls those updates down during restore and compiles them again.

Using cached pre-compiled packages speeds up builds a lot - using compile on first use, the dpm build process went from 12 minutes to 2 minutes .

There are currently packages for Spring4D 2.0.0-rc.2 on the server - I add rc.5 later today.

If you are concerned about a reliance on a server for the packages, you can also download them to a local shared folder on your network and configure a dpm source to point to that folder (the blog post linked above shows how to do that).

  1. Copy the spring4D source into your main repo - I would only use this as a last resort.

Feel free to contact us directly if you need help with this.