Re: [Development] Qt6: Adding UTF-8 storage support to QString

2019-01-27 Thread Arnaud Clère
> -Original Message-
> From: Jason H  
> Sent: vendredi 25 janvier 2019 17:40
> Cc: development@qt-project.org
> Subject: Re: [Development] Qt6: Adding UTF-8 storage support to QString
>
> > By all means, let's make sure the internals are efficient for the more 
> > common languages and scripts; but it's way past time to start doing 
> > Unicode properly, so that all cultures are well-served by default, 
> > when the software folk are using is built on Qt,
>
> I don't think anyone knows what "properly" is. 

+1

> But the more I think about it, the more I like the idea I expressed as a list 
> of sequences of various character sizes. 
> I think it is a good balance between space and efficiency.

It looks like proposed boost::text::unencoded_rope to me, except they chose to 
implement it as a tree of string. 
https://github.com/boostcon/cppnow_presentations_2018/blob/master/05-07-2018_monday/boost_text_fixing_std_string_and_adding_unicode_to_standard_cpp__zach_laine__cppnow_2018__05072018.pdf
 
It makes more sense to me if you consider that efficiently editing large 
strings is not so common.

___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


[Development] Coin production update

2019-01-27 Thread Aapo Keskimölö
To Qt Developers,

Coin production has been successfully updated at Sun Jan 27 18:12:59 UTC 2019.


Change logs:

https://testresults.qt.io/ci/aakeskim/production_updates/changelog_20190127

https://testresults.qt.io/ci/aakeskim/production_updates/cherrypicks


Full commit history:

https://testresults.qt.io/ci/aakeskim/production_updates/HEAD


Storage clean up has been performed that will require rebuilding binary 
artifacts. I will take the service offline until qt5 dev and 5.12 binaries have 
been rebuilt.


Ystävällisin terveisin / Kind regards,

Aapo Keskimölö
Senior Software Engineer | Coin Component Owner
Release and Test Automation | CI Team
The Qt Company | Finland | Oulu

aapo.keskim...@qt.io


___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] Qt modules, API changes and Qt 6

2019-01-27 Thread Oswald Buddenhagen
On Fri, Jan 25, 2019 at 01:12:11PM +, Frederik Gladhorn wrote:
> qt5.git serves several purposes today, for example:
> - it contains a few binaries needed for Windows development
>
that's rather trivial, and the only reason i didn't fix it years ago is
that factoring these out to another repo would cause everyone cloning
*two* instances of somewhat big-ish stuff they probably don't need. if
we accept that accurate historical checkouts of these binaries are
irrelevant, it would be possible to permanently excise them via git
object replacement nowadays.

> - it gives a definition of which modules make up a Qt release
> - it collects sets of revisions which work together (because they were tested 
> with each other)
> - it has a bit of build system infrastructure to build all of this
> 
> In my opinion there are a few issues with what we have:
> - updating qt5.git (and thus making releases) is cumbersome
> - it's unclear for many people what a module is tested against in the CI
>   (its dependencies are checked out at the revisions specified in qt5.git, 
> not 
> the latest revisions of the corresponding branch)
>
> [and some other spread out mentions of related issues]
>
https://bugreports.qt.io/browse/QTQAINFRA-868

> - we have more products, such as Qt for Automotive, Automation, Device 
> Creation, should those have qt5-special-purpose repositories?
>
no. these somewhat arbitrarily defined products don't need to be
reflected in the supermodule itself.

> - modules outside of qt5.git get different treatment, making it hard
> to include new modules
> 
the solution to that is simple: don't have "proper" qt modules outside
qt5. the only reason for the current situation is an irrational fear of
the kde free qt foundation, because, gee, referencing a repo from a git
supermodule is *just* the same as "marketing it as part of qt".

for private modules, a private branch of qt5 can be maintained (in the
qt5 shadow repo; it can't be in the main one due to gerrit
"limitations").

big "leaf" modules which intend to be separate products with independent
release cycles (e.g., qtwebkit and qtwebengine) can/should live outside
the super repo, because the advantages of detaching them outweigh the
additional bother this causes.

> Modules are not self-contained (since the fine-grained dependencies
> are specified in qt5.git). We don't know how to cleanly handle
> dependencies for modules outside.
>
the current structure is optimized for init-repository, which vastly
simplifies the life of developers and is also taken advantage of by the
CI system.

if you want to move away from a simple supermodule, you'll need a
complex meta structure instead. you'll need to extract the dependencies
from the repositories (hey, a sanely machine readable build system would
have helped with that - too bad the idea was abandoned) and centralize
them in a living document which is fetched by whatever checkout script
you come up with. you can get some inspiration from kde.

you can expect opposition to _requiring_ additional scripts to just get
a workable checkout. and google is moving away from "repo" in favor of
git native functionality.

note that atomic versioning of the dependencies (which is something you
need if you expect bisect to be actually useful) is totally impractical
to implement with only in-module dependencies.
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development


Re: [Development] Qt modules, API changes and Qt 6

2019-01-27 Thread Harri Porten

On Sat, 26 Jan 2019, Olivier Goffart wrote:

I think the "monorepo" is clearly a good approach. And git is evolving with 
shadow clones and partial checkout. LLVM/Clang recently choose the monorepo 
approach as it moves to git.


Of one problem is that this will make CI integration slower because each CI 
run now have to test both qtbase and qtdeclarative tests.


I've started to develop sympathy for "monorepos" during the last years. To 
counter often expressed fears like excessive build and test times one has 
to point out:


Bigger (or even single) repositories do NOT mean

  - monolithic builds and test runs
  - monolithic packaging

Developers and packagers are free to model logical segements according to 
their needs.


Harri.
___
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development