request: tools for automated build

delphi package - automated exception handling
Post Reply
StephaneGrobety
Posts: 19
Joined: Tue Jul 17, 2018 9:21 am

request: tools for automated build

Post by StephaneGrobety »

Hello,

I had to integrate madexcept into our build process and it wasn't trivial. The issue is that we have literally hundreds of projects that and built into the application and every single one of them needs to be adjusted. Furthermore, madexcept needed only be included into the build if that option was requested so every dpr needs to be adjusted before being compiled.

I managed to get it done but doing so highlighted the need for a couple of tools that would really help others (and us) perform similar task:
- A tool to adjust a dpr for including/excluding the necessary madExcept units. Pretty much what the IDE plugin does but from the command-line.
- Some way to edit a ".mes" file outside the IDE.

In addition, in order to allow our devs to work in a consistent manner, it would really help if there was a way to use a common .mes file for all projects when using the IDE (at least when madExcept is enabled). Currently, when a dev builds a projet, he will do so with whatever he configured in the IDE which, by default, does not work very well for us: the necessary exceptions are not present and the reporting method usually does not send the report to the correct address.

Of course, if I missed some obvious way to do one of these things (or both), I'd be very happy to learn about it.

Thanks
santiago
Posts: 73
Joined: Thu May 05, 2016 6:01 pm

Re: request: tools for automated build

Post by santiago »

Hi there,

did you have a look at madExceptPatch.exe?

Look at question "6. Why does madExcept not work when I use command line compiling?"
http://help.madshi.net/madExceptFaq.htm

We have our own tool that launches the Delphi IDE for us. It does a bunch of things besides launching the IDE.
But in case you have a similar tool, you could create the required *.mes files based on a template for each project whenever the IDE is launched.

We use MS-BUILD for command line compiling. We have some targets that deal with mes files and madExceptPatch.exe

Hope it helps!
StephaneGrobety
Posts: 19
Joined: Tue Jul 17, 2018 9:21 am

Re: request: tools for automated build

Post by StephaneGrobety »

Hello,

Thank you for your answer but, perhapse I didn't exlain the need properly: I know about madPatcher.exe but it only performs the post-buil process: attaching the map file information to the final binaries. My issue is with the project's use list that must be adjusted to include (or exclude) the mad* units. There is no tool outside the IDE to perform that.

Launching the IDE is not really an option for us: out product is made of nearly 350 different projects and the build already takes more than 40 minutes on a fast machine and I already gotten complains that adding madExcept to the build chain made that process quite a bit slower (about 30%). Even if it was the only issue, launching the IDE for each project would push that built time into the "far too long to be practical" zone (plus, we'd had to maintain the IDE and all attached packages on the build machines).

My issue with the *.mes files is that they are impossible to standardize across projects and developers.

Thank you again for taking the time to answer
madshi
Site Admin
Posts: 10754
Joined: Sun Mar 21, 2004 5:25 pm

Re: request: tools for automated build

Post by madshi »

You're the first user *ever* to ask for a command line tool to edit dpr files. I see that it can make some sense if you have 350 projects, but I guess that's the exception rather than the rule. I usually only implement feature requests if multiple users ask for it. Otherwise I would be doing a lot of custom development which would only ever be used by very few users.

There's one dirty little secret which may help: You can create a MES file with just one line of text in it, which is a file path to another MES file. This way you could "forward" all your projects to one central MES file. Alternatively you can tell madExcept to use a central MES file using this registry key:

HKEY_LOCAL_MACHINE\Software\madshi\madExcept\centralMesFile
Post Reply