Kross module loading is broken since KF5.0.0
Alex Merry
alex.merry at kde.org
Sat May 16 09:37:18 UTC 2015
On Wednesday 13 May 2015 15:42:42 Alexander Potashev wrote:
> 2015-05-12 14:39 GMT+03:00 Vishesh Handa <me at vhanda.in>:
> > On Mon, May 11, 2015 at 6:37 PM, Alexander Potashev <aspotashev at gmail.com>
> >
> > wrote:
> >> 3. Make module names case insensitive. This can be implemented in
> >> Kross framework by listing and filtering directory contents instead of
> >> checking for a specific file. It will be slower and this looks like a
> >> hack to me.
> >
> > I would go for this one. It's trivial to implement and the speed
>
> difference
>
> > would be minuscule.
>
> Hi Vishesh and others,
>
> You are right it's easy to implement and will not be slow, but
> a. This puts us in a ridiculous position where we are slaves of naming
> conventions. Easy-going users will shoot us down in flames.
> b. I don't like case insensitive names in programming for the same reason
> identifiers are case sensitive in most programming languages: as soon as
> there's no rule, anyone is free to spell it "forms", then "FORMS" and
> finally "fOrMs".
>
> It seemed like all three solutions are equally bad, but I finally found an
> excuse to ignore the library naming convention: Kross modules are not C++
> libraries, they are _plugins_.
>
> Notice that the rule "Library names are in CamelCase" goes in section
> "Frameworks buildsystem is consistent", thus it is meant to beautify
> CMakeLists.txt files where you may want to link to KF5 libraries. But
> nobody will ever link to a Kross plugin bypassing the standard loader for
> Kross modules.
>
> That said, I think it should be absolutely fine if we rename all Kross
> modules back to lowercase spelling and be happy again.
>
> What do you think?
I think this is probably the most sensible and conservative solution. It also
fits in with minimising API changes (since you noted in your first email that
the name is used in the API).
Alex
More information about the Kde-frameworks-devel
mailing list