kreport include files

classic Classic list List threaded Threaded
5 messages Options
Dag
Reply | Threaded
Open this post in threaded view
|

kreport include files

Dag
Hi, I have problems compiling plan against kreport master:
[ 76%] Building CXX object
plan/libs/ui/CMakeFiles/kplatoui.dir/reports/reportview.cpp.o
In file included from
/mnt/src/kdesrc/calligra/calligra/plan/libs/ui/reports/reportview.cpp:26:0:
/mnt/src/kdesrc/calligra/calligra/plan/libs/ui/reports/reportdata.h:27:23:
fatal error: KReportData: No such file or directory
compilation terminated.

The 3.0 branch works ok.
Is there some changes I need to adapt to?
Afaics the include files are installed ok.

--
Cheers,

Dag


Reply | Threaded
Open this post in threaded view
|

Re: kreport include files

Adam Pigg-2

I can try a clean build later, but it certainly should work!


On Fri, 7 Apr 2017, 09:54 Dag, <[hidden email]> wrote:
Hi, I have problems compiling plan against kreport master:
[ 76%] Building CXX object
plan/libs/ui/CMakeFiles/kplatoui.dir/reports/reportview.cpp.o
In file included from
/mnt/src/kdesrc/calligra/calligra/plan/libs/ui/reports/reportview.cpp:26:0:
/mnt/src/kdesrc/calligra/calligra/plan/libs/ui/reports/reportdata.h:27:23:
fatal error: KReportData: No such file or directory
compilation terminated.

The 3.0 branch works ok.
Is there some changes I need to adapt to?
Afaics the include files are installed ok.

--
Cheers,

Dag


Reply | Threaded
Open this post in threaded view
|

Re: kreport include files

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

Thoughts jaroslaw?


On Fri, 7 Apr 2017, 12:28 Dag, <[hidden email]> 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, <[hidden email]> 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
Reply | Threaded
Open this post in threaded view
|

Re: kreport include files

Jaroslaw Staniek-3
In reply to this post by Dag


On 7 April 2017 at 10:53, Dag <[hidden email]> wrote:
Hi, I have problems compiling plan against kreport master:
[ 76%] Building CXX object plan/libs/ui/CMakeFiles/kplatoui.dir/reports/reportview.cpp.o
In file included from /mnt/src/kdesrc/calligra/calligra/plan/libs/ui/reports/reportview.cpp:26:0:
/mnt/src/kdesrc/calligra/calligra/plan/libs/ui/reports/reportdata.h:27:23: fatal error: KReportData: No such file or directory
compilation terminated.


​Hi!​

IIRC ​The class has been renamed during the KReport 3.1 API inspection to KReportDataSource.
 
The 3.0 branch works ok.
Is there some changes I need to adapt to?
Afaics the include files are installed ok.

--
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
Reply | Threaded
Open this post in threaded view
|

Re: kreport include files

Jaroslaw Staniek-3
In reply to this post by Adam Pigg-2


On 7 April 2017 at 13:31, Adam Pigg <[hidden email]> 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, <[hidden email]> 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, <[hidden email]> 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