Review Request 111686: KPluginFactory macros port

2013-07-25 Thread Sebastian Kügler

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111686/
---

Review request for kdelibs and David Faure.


Description
---

Make K_EXPORT_PLUGIN work with Qt's new plugin system

This patch changes the K_EXPORT_MACRO and the class it generates to be 
compatible with Qt's new plugin / metadata system. It basically replaces the 
old macros around q_plugin_instance with the new ones, using Q_INTERFACES. 
There's also a setter for the args, which are used to pass metadata into the 
plugin.

Otherwise, this is the minimal change, to make old plugin factories work atop 
the new framework.

This change is source-compatible, but the right .moc file when this macro is 
used from the .cpp file.


Diffs
-

  staging/kservice/src/plugin/kexportplugin.h cc5d58b 
  staging/kservice/src/plugin/kpluginfactory.h a5ea21b 
  staging/kservice/src/plugin/kpluginfactory.cpp 6bd2350 
  staging/kservice/src/plugin/kpluginfactory_p.h 09fcfe4 
  staging/kservice/src/plugin/kpluginloader.cpp 945c75b 

Diff: http://git.reviewboard.kde.org/r/111686/diff/


Testing
---

Loaded plugins using KService, KPluginLoader, QPluginLoader and 
Plasma::PluginLoader, all work as expected.


Thanks,

Sebastian Kügler



Review Request 111688: QVariantList-based ctor for KPluginInfo

2013-07-25 Thread Sebastian Kügler

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111688/
---

Review request for kdelibs and David Faure.


Description
---

This patch allows KPluginInfo to be created from a QVariantList, as it is 
typically passed in from KPluginFactory (using the patch which changes the 
macro there).


Diffs
-

  staging/kservice/src/services/kplugininfo.h c08 
  staging/kservice/src/services/kplugininfo.cpp bd1eaec 

Diff: http://git.reviewboard.kde.org/r/111688/diff/


Testing
---

Works with plugins built in the right way: A valid KPluginInfo is created from 
the plugin's metadata.


Thanks,

Sebastian Kügler



Re: Proposal for branching policy towards KF5

2013-07-25 Thread David Faure
On Wednesday 24 July 2013 10:23:46 Michael Pyne wrote:
 On Tue, July 23, 2013 14:20:39 David Faure wrote:
  On Saturday 20 July 2013 23:04:10 Michael Pyne wrote:
   This is a labor-intensive task, but it's easy to centrally-manage
   without
   having to rely on many different module maintainers or core developers
   for
   each git repository to update their own metadata in projects.kde.org
  
  I volunteer to help.
  
   (assuming  we can get the sysadmins to add that).
  
  I didn't understand that. To add what?
 
 To add a scheme within the projects.kde.org repository administration
 interface for each individual repo administrator to fill out which branch is
 appropriate for each of our 3 overarching development tracks. They would
 then need to add something to export that information back into the XML
 database.
 
 Similar concerns about how this could even realistically work were what lead
 me to making the kde-build-metadata repository in the first place; it's a
 lot easier just to have a single spot for that metadata which anyone can
 update, not just a repo admin or sysadmin.

Yes, definitely.

-- 
David Faure, fa...@kde.org, http://www.davidfaure.fr
Working on KDE, in particular KDE Frameworks 5


signature.asc
Description: This is a digitally signed message part.


Re: Proposal for branching policy towards KF5

2013-07-25 Thread Albert Astals Cid
El Dimecres, 24 de juliol de 2013, a les 23:05:55, Michael Pyne va escriure:
 On Fri, July 19, 2013 00:21:21 you wrote:
  After more live discussion with Sebas and Marco plus Aaron over a video
  chat, we came up with the following setup for the workspace repos (*) :
  
  - the development branch for their next feature release (based on Qt5/KF5)
  will be master.
  - *before* this happens, however, kdesrc-build / kde-build-metadata /
  projects.kde.org will need to be improved so that tools (kdesrc-build and
  possibly build.kde.org) can automatically select the latest Qt4-based
  branch (i.e. master everywhere and 4.11 for the workspace repos), on
  demand. This would also be the opportunity to implement latest *stable*
  branch which is 4.11 for most modules right now, but could be at some
  point 4.12 for most and 4.11 for workspace repos.
  Adding a similar generic selection for qt5/kf5, we would end up giving 3
  options to people who compile from sources: stable, latest-qt4, or
  qt5/kf5-
  based.
 
 First note: There's a lot of different mailing lists with at least some
 interest in this discussion, so I've mailed them all for informational
 purposes... but let's keep the discussion limited to the kde-core-devel
 mailing list!
 
 Back on topic, I have made an initial draft specification [1] for what this
 logical module group layer would look like.
 
 In addition, there is a sample JSON file in the kde-build-metadata git
 repository, called logical-module-structure that one can view to get a
 feel for the proposed syntax/semantics.
 
 I didn't want to write another parser, but JSON has no native comment
 support, so the documentation [1] is on community.kde.org (though perhaps
 that's for the best).
 
 For those with no clue what I'm talking about, the original thread from kde-
 core-devel is available from [2].
 
 A point of concern is that currently we already have a concept similar to
 this, for i18n. It's possible to specify in the projects.kde.org management
 interface a stable or trunk branch for translation purposes. I don't
 know the translation infrastructure well enough to see how this proposal
 would impact that feature; I assume we'd want to move scripty ( friends)
 over to using this at some point if we go through with it, but it's
 probably easy enough to keep both techniques on whatever release checklist
 we're using now.

[I18N_HAT] I'd appreciate if you guys decide on something :D Not so long ago 
we had to write support for the projects.kde.org branches thing when we 
already had our nice set of scripts and now you say we'll have to build 
support for something different? It's good that we never removed our internal 
scripts and they are the authoritative source, that way removing the 
projects.kde.org support is trivial :D [/I18N_HAT]

  At this point I think this still needs a green light from the release
  team,
  though.
 
 They are now CC'ed for review.
 
 One clarification I should make is that I also received a recommendation to
 investigate migrating our current dependency data into this new JSON file if
 possible. 

You mean something like kde-build-metadata? Neither i18n nor releasing uses 
that file.

Basically from release I don't see how that affects us, we use the data from 
the release-tools module that is de-coupled from what you mention, no?

Cheers,
  Albert

 I put the effort into doing this as it would also help make the
 implementation of some kdesrc-build misfeatures relating to dependency-data
 additions a bit easier, as there's no need to construct an AST and a
 parser. Additionally it would permit 'soft' dependencies, which are useful
 for modules that can utilize optional features but don't have required
 dependencies on other git modules.
 
 However that can, and probably should, be considered separately (though I'll
 take comments now, if you have them).
 
 [1]: http://community.kde.org/Infrastructure/Project_Metadata
 [2]: http://markmail.org/message/4l3yqerga7mfiit5
 
 Anyways, thanks for your interest and please let me know if this will work
 to solve the problem at hand. If so I will start on integrating within
 kdesrc- build, and working with the sysadmins to support within the
 continuous integration infrastructure.
 
 Regards,
  - Michael Pyne



Re: Proposal for branching policy towards KF5

2013-07-25 Thread Michael Pyne
On Thu, July 25, 2013 22:44:47 Albert Astals Cid wrote:
 El Dimecres, 24 de juliol de 2013, a les 23:05:55, Michael Pyne va escriure:
  On Fri, July 19, 2013 00:21:21 you wrote:
   After more live discussion with Sebas and Marco plus Aaron over a video
   chat, we came up with the following setup for the workspace repos (*) :
   
   - the development branch for their next feature release (based on
   Qt5/KF5)
   will be master.
   - *before* this happens, however, kdesrc-build / kde-build-metadata /
   projects.kde.org will need to be improved so that tools (kdesrc-build
   and
   possibly build.kde.org) can automatically select the latest Qt4-based
   branch (i.e. master everywhere and 4.11 for the workspace repos), on
   demand. This would also be the opportunity to implement latest *stable*
   branch which is 4.11 for most modules right now, but could be at some
   point 4.12 for most and 4.11 for workspace repos.
   Adding a similar generic selection for qt5/kf5, we would end up giving 3
   options to people who compile from sources: stable, latest-qt4, or
   qt5/kf5-
   based.
  
  Back on topic, I have made an initial draft specification [1] for what
  this
  logical module group layer would look like.
  
  In addition, there is a sample JSON file in the kde-build-metadata git
  repository, called logical-module-structure that one can view to get a
  feel for the proposed syntax/semantics.
  
snip
  A point of concern is that currently we already have a concept similar to
  this, for i18n. It's possible to specify in the projects.kde.org
  management
  interface a stable or trunk branch for translation purposes. I don't
  know the translation infrastructure well enough to see how this proposal
  would impact that feature; I assume we'd want to move scripty ( friends)
  over to using this at some point if we go through with it, but it's
  probably easy enough to keep both techniques on whatever release checklist
  we're using now.
 
 [I18N_HAT] I'd appreciate if you guys decide on something :D Not so long ago
 we had to write support for the projects.kde.org branches thing when we
 already had our nice set of scripts and now you say we'll have to build
 support for something different? It's good that we never removed our
 internal scripts and they are the authoritative source, that way removing
 the projects.kde.org support is trivial :D [/I18N_HAT]

Well it would certainly be possible to *keep* support for whatever you're 
doing now with projects.kde.org, that isn't going away at this point. But 
since the concept is complementary, it would make sense to try to end up on 
one solution.

At least this way it should be easier to fixup the branches for groups of 
modules at a time! ;)

I'm not familiar with the i18n scripts at this point but I would volunteer to 
help with any needed porting.

   At this point I think this still needs a green light from the release
   team,
   though.
  
  They are now CC'ed for review.
  
  One clarification I should make is that I also received a recommendation
  to
  investigate migrating our current dependency data into this new JSON file
  if possible.
 
 You mean something like kde-build-metadata? Neither i18n nor releasing uses
 that file.

Kind of (dependency data is one part of kde-build-metadata). It is true that 
neither requires dependency info.

In the event, some prototyping of the result of making *all* of our deps go in 
the file is rather unsatisfactory so I'll be dropping that for now (the hard 
work is already done in case we decide to investigate later though).

 Basically from release I don't see how that affects us, we use the data from
 the release-tools module that is de-coupled from what you mention, no?

dependency-data would not affect you at all.

The 'logical module groups' might play a role in the release process after a 
release is done, but shouldn't have any further role for tagging that I can 
see. i18n is covered above.

Regards,
 - Michael Pyne

signature.asc
Description: This is a digitally signed message part.