Stupid 3rd party component (developers) of the day:

Stupid 3rd party component (developers) of the day:

After installing some commercial component I have 2 Lib directories for 32 and 64 bit which both contain all binaries (like dcu, bpl and dcp) AND all sources (pas, dfm and dpk for all Delphi versions).

Seriously guys...

Comments

  1. We really need a standardised install.

    ReplyDelete
  2. David Millington We do but every Delphi component developer with a brain should know that a) sources should not be duplicated for each platform and Delphi version when shipping (especially if they are all equal) and b) that especially for 3rd party components binaries (dcus) should NEVER be in the same directory as the source files.

    ReplyDelete
  3. Stefan Glienke True, and in the past I've even changed a famous vendor's packages, reorganised their code, and sent them back a patch. They were quite happy about it, as I remember.

    But it would be so much easier if there was One Right Way To Do It and doing it that one right was was made easy - such as through a standardised installer. For me this goes past things like where DCUs go - it's the layout of where the package files are, where the source is, etc - a standardised tree, standardised naming especially of packages (and I'm in favour of the version name, eg XE7, here, not the number like 21), etc.

    ReplyDelete
  4. The best would be kind of a project group manifest, passed to the ide and it'll compile, install, and take care of everything (per-platform file locations, search paths etc etc)

    ReplyDelete
  5. Yeah, I've patched vendor packages before too. I don't get why so many of them can't get this right. That things are such a mess really is Embarcadero's fault though for not even kind of trying to provide any guidance, much less try to lure users into a Pit of Success.

    ReplyDelete
  6. This is a feature I have planned for Aristotle. I wasn't planning on enforcing folder layout or naming but I am going to make following conventions the path of least resistance.

    Something along the lines of "If you structure your project this way, then when you publish your package the manifest will be automatically generated for you."

    ReplyDelete
  7. Kenneth Cochran What is Aristotle in the context of Delphi? Googling showed me only the philosopher.

    ReplyDelete
  8. Emba should provide a build service and repo for components. Just add an API version to a manifest and submit the source repo to the component repo. The build service should then be able to build the required packages for all version greater or equal to the one provided in the manifest. Hope something like this will be released soon.

    ReplyDelete
  9. David Millington https://github.com/AristotleProject until I push my commits from my local repo it's just an unrealised idea.

    ReplyDelete
  10. Kenneth Cochran Thanks. I'll be interested to see it.

    ReplyDelete
  11. I seem to spend my life fixing vendors packages every time I move to a new version of delphi. I wish they would learn to a) name the packages properly and b) learn about LIBSUFFIX

    ReplyDelete
  12. How about if everyone would just use the LIBSUFFIX and stop using stupid package names!

    ReplyDelete

Post a Comment