kreport include files

Jaroslaw Staniek staniek at kde.org
Fri Apr 7 11:35:39 UTC 2017


On 7 April 2017 at 13:31, Adam Pigg <adam at piggz.co.uk> wrote:

> Yeah, you are right. Perhaps for 3.1 we should fix this as we are then
> supposed to be offering abi stability.
>

​Definitely Calligra master (and any upstream consumers) ​shall prepare to
use out 3.1+ APIs ASAP. 3.0 will disappear from the wild and will not be
maintained.

Note for Dag, this is not going to be a habit, it's one time situation
before we can enter into API stability phase...

Thoughts jaroslaw?
>
> On Fri, 7 Apr 2017, 12:28 Dag, <danders at get2net.dk> wrote:
>
>>
>>
>> Adam Pigg skrev den 2017-04-07 13:21:
>> > The code is probably copied from kdb!
>> >
>> > I think this is saying that kreport will only load plugins which claim
>> > to be the same version, so nothing would prevent an out of source
>> > plugin, but its version number must match for it to be loaded, this
>> > way multiple versions can coexist, and only load the appropriate
>> > plugins.
>> Yes, but what is an appropriate plugin?
>> Imho releasing a new kreport version does not neccessarily invalidate
>> plugins.
>> I cannot see that a plugin developed for 3.0 could not be usable with
>> 3.1 if the plugin interface is not changed, or am I missing something?
>>
>> >
>> > On Fri, 7 Apr 2017, 12:12 Dag, <danders at get2net.dk> wrote:
>> >
>> >> Adam Pigg skrev den 2017-04-07 11:37:
>> >>> I can try a clean build later, but it certainly should work!
>> >> ok.
>> >>
>> >> While we are looking into kreport, I have a question about kreport
>> >> plugins.
>> >> I find this code in KReportPluginManager.cpp:
>> >> const QString expectedVersion = QString::fromLatin1("%1.%2")
>> >>
>> >>
>> > .arg(KREPORT_STABLE_VERSION_MAJOR).arg(KREPORT_STABLE_VERSION_MINOR);
>> >> foreach(QPluginLoader *loader, offers) {
>> >> //QJsonObject json = loader->metaData();
>> >> //kreportDebug() << json;
>> >> //! @todo check version
>> >> QScopedPointer<KReportPluginEntry> entry(new
>> >> KReportPluginEntry);
>> >> entry->setMetaData(loader);
>> >> const KReportPluginMetaData *metaData = entry->metaData();
>> >> if (metaData->version() != expectedVersion) {
>> >>
>> >> I thought the metaData->version() should be some sort of plugin
>> >> interface version, not the version of KReport itself?
>> >> Afaics with current solution development of plugins outside of
>> >> kreport
>> >> is not possible.
>> >> Have I misunderstood it completely, or maybe it is intentional?
>> >>
>> >> ---
>> >> Cheers,
>> >>
>> >> Dag
>>
>


-- 
regards, Jaroslaw Staniek

KDE:
: A world-wide network of software engineers, artists, writers, translators
: and facilitators committed to Free Software development - http://kde.org
Calligra Suite:
: A graphic art and office suite - http://calligra.org
Kexi:
: A visual database apps builder - http://calligra.org/kexi
Qt Certified Specialist:
: http://www.linkedin.com/in/jstaniek
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kexi-devel/attachments/20170407/ffea8eb3/attachment-0001.html>


More information about the Kexi-devel mailing list