MSBuild for Delphi Compiler fails to copy compiled output

Hi, new to Continua :slight_smile: I’ve created a project, registered a repository, created a configuration which contains an MSBuild action to run the Delphi 64 bit compiler on a project within the repo.

I have the standard default workspace rules set on the stage, the compiler works according to the log (and when looking at the agent output directory while running the build) but the DLL that is created never gets copied back to the server workspace. The ws directory (project/build) only contains directories for build log and variables.

What am I missing ?

NB: The Stage Workspace rules contain
#Server to agent rules
#---------------------------------------------------
#copy output from previous stages to agent
/Output/** >> /Output
#---------------------------------------------------
#Agent to server rules
#---------------------------------------------------
#copy output from the agent to the server
/ < /Output**
#---------------------------------------------------

After much mucking around I have found that it will work only if f I add another action “Copy” and include the source path as “$Source.{repo_name}$/path\to\project\win64\release”

Is this what is required ?

Why did the workspace rule / < /Output** not copy the file back from the agent ?

The default workspace rule assumes you have instructed the compiler to output the files to the /Output workspace folder.

If you don’t want to add workspace rules then you need to tell msbuild what to do by setting a property on the msbuild action

DCC_ExeOutput=$Workspace$\Output

The default workspace rule is just that, a default… but it will never cover every scenario.

Thx a million - that just works :slight_smile:

Unfortunately no amount of googling got me that far last night.

You would think Embarcadero would map the standard msbuild outputfolder properties to the dcc ones but nope… and the only way to find out what is needed is peering into the dproj files and seeing the property names.