Products

From Qt Wiki
Revision as of 16:56, 4 November 2016 by Frederik (talk | contribs) (Created page with "== Qt Products Overview == This page is about the final products that the Qt Project (and The Qt Company) release. It is meant as an internal guide for people regularly contri...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Qt Products Overview

This page is about the final products that the Qt Project (and The Qt Company) release. It is meant as an internal guide for people regularly contribute to Qt. It is probably not relevant for most people. Currently some discussions are ongoing about products and definitions, so this page will be out of date in no time, please help updating it. Below will be a summary how at this point in time the Qt Frameworks aka Qt for Application Development is managed as a product.

qt5.git

At the moment the main definition for what a Qt release is. qt5.git (qt5 from here on) is a git repo living along all Qt modules on https://code.qt.io/cgit/qt/qt5.git/ . qt5 is complex because it's not well defined which purpose it serves. In the past, Qt was thought to be exactly one product, that has changed with for example the embedded offering, the installer framework and Qt Creator. qt5 is a regular git repository serving several purposes:

  • it contains some helpers that are needed to build Qt on Windows (gnuwin32 subdir)
  • it contains bits of the build system/configure scripts so that they can be run from the top level
  • it contains the init_repo script to help checking out the git submodules it contains
  • it contains git submodules that are the Qt frameworks, some are not released/active
  • it defines a set of sha1s of Qt git modules that are known to work well together (in the sense that they have been compiled against each other and all automated tests passed for all modules)
    • in this capacity it serves contributors to find a state that is guaranteed to work on at least the supported platforms.
  • it is used for releases
    • it contains the final tags and in the top level, so that's what a release is, this is the defining point
  • it is used for continuous integration
    • details below