Hi Brett,

> On 13 Jan 2017, at 02:58, Stottlemyer, Brett (B.S.) <bstot...@ford.com> wrote:
> 
> On 12 January 2017 at 08:39, Lars Knoll wrote:
> 
>> From the discussion so far I didn't hear too many things that speak against 
>> a TP, the code duplication with moc is one of the issues that fall into the 
>> 'flagged and need to be resolved before moving out of TP' category for me. 
>> How about the other
>> points in the list above that haven't been discussed yet here?
> 
> Moving the points to below instead of above.  My opinion is (obviously) 
> biased.
> 
>> * The module solves a problem our users have
>> - It either implements new and so far non existent functionality
>> - Or it solves an existing problem in a new and better way (and is intended 
>> to replace the old functionality over time)
> 
> It seems like the two potentially competing current projects are Qt Service 
> Framework and QtDBus.  I believe QtRO is
> different from both, with “better” being subjective.  At the risk of being 
> flamed for why I prefer QtRO, I’d put it
> this way:
> 
> The Qt Service Framework deals with OS Services/daemons, and only works 
> inter-process, not inter-device.  If I can
> distinguish between a service and a Service, Service being a different class 
> than a program (I.e., on windows, services
> run when no user is logged on).  If you need a Service, the Service Framework 
> makes sense.  This isn’t the problem
> QtRO is trying to solve.
> 
> QtDBus is more similar in intent to QtRO.  QtRO is peer-to-peer, while Dbus 
> by default goes through a daemon.  Bus is
> common on Linux platforms, but has additional dependencies on other platforms 
> (Windows, QNX, etc).  The key difference
> though, is that DBus is intended to translate between languages (java, C, 
> python).  This is a disadvantage of QtRO
> in many cases, but when Qt is available for both client/server, it provides a 
> much richer level of communication.  For
> instance, QtRO supports QAIM, including selection, across processes/devices.  
> It supports state (current PROPERTY
> values).  It supports any type Qt can (or can be made to) pass in Queued 
> connections.  Without additional code.
> 
> My view is that QtRO complements the other two options, providing strong 
> benefits for the right use-cases.

Agreed.
> 
>> * The module builds inside the Qt build system on all platforms
>>   - Compilation could be disabled on some platforms, but is not allowed to 
>> break any platform we support
>> * The module is CI controlled
> 
> Umm, this feels like a chicken and egg problem to me.  The Qt Company 
> controls the CI, and it doesn’t run against play-
> ground projects.  We have worked with KDAB and implemented CI on 4 platforms, 
> targeting only Qt 5.6.2 currently.  Until
> Qt’s CI is applied to it, there isn’t a clear way to evaluate build issues.  
> I’ve manually built against 5.8.0rc1 but
> not on all platforms.  I feel like there needs to be a way to enable Qt’s CI 
> against QtRO before deciding whether to
> accept it as a TP project.  Can the Qt Company CI team help with this?  It is 
> a playground project already hosted on
> qt.io.  If not, what options are there?

It should be pretty straightforward to enable CI on the module. Pre-conditions 
are mainly that it’s structured like the other Qt modules. Frederik & Simon 
what would it take to enable CI on it?
> 
>> * There is a decent set of automated tests covering the main functionality 
>> and most of the API of the module
>> - The tests pass on all platforms where the module is supported
>> * APIs have been reviewed, and we are reasonably satisfied with them (we've 
>> done larger changes to APIs after TPs before)
>> * Architecture makes sense
>> * It follows the Qt coding style and conventions
>> * Implementation has been checked for sanity
>> - It's ok to have parts that are flagged as needing further work (those have 
>> to be fixed before moving from TP to supported state)
> 
> For all of the above, it seems like you need someone other than the 
> maintainer to assess whether it meets your requirements.
> I believe it does.  In terms of coding style, it meets the standards for 
> 5.6.2.  We still need to apply the C++11 standards
> for 5.7+.  Also, I’m hoping (if approved) for a recommendation on how keep 
> the Gerrit review history and align with Qt branching.

Agree, it needs a bit of review and of course it’s subjective on how strict one 
wants to be on the criteria. I don’t see it as a problem that it’s still using 
C++98, although at least the API should be reviewed to be making use of C++11 
before it moves out of TP. I’ll try to have a look at the module over the 
weekend, and will see if I can find someone else to help.

Cheers,
Lars

_______________________________________________
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to